MecAppSupportApi.json 79.2 KB
Newer Older
  "openapi": "3.1.0",
Walter Featherstone's avatar
Walter Featherstone committed
    "title": "MEC Application Support API",
    "version": "2.1.1",
    "description": "The ETSI MEC ISG MEC011 MEC Application Support API described using OpenAPI",
    "license": {
      "name": "BSD-3-Clause",
      "url": "https://forge.etsi.org/legal-matters"
    },
    "contact": {
      "email": "cti_support@etsi.org"
    }
  },
  "externalDocs": {
Walter Featherstone's avatar
Walter Featherstone committed
    "description": "ETSI GS MEC011 Application Enablement API, V2.1.1",
    "url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf"
Walter Featherstone's avatar
Walter Featherstone committed
      "name": "appTrafficRules"
Walter Featherstone's avatar
Walter Featherstone committed
      "name": "appDnsRules"
Walter Featherstone's avatar
Walter Featherstone committed
      "name": "appSubscriptions"
Walter Featherstone's avatar
Walter Featherstone committed
      "name": "appConfirmTermination"
Walter Featherstone's avatar
Walter Featherstone committed
      "name": "appConfirmReady"
Walter Featherstone's avatar
Walter Featherstone committed
      "name": "timing"
    {
      "name": "callbacks"
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "servers": [
    {
      "url": "http://127.0.0.1:8081/mec_app_support/v1",
      "variables": {}
    },
    {
      "url": "https://127.0.0.1:8081/mec_app_support/v1",
      "variables": {}
    }
  ],
Walter Featherstone's avatar
Walter Featherstone committed
    "/applications/{appInstanceId}/traffic_rules": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appTrafficRules"
        "description": "This method retrieves information about all the traffic rules associated with a MEC application instance.",
        "operationId": "ApplicationsTrafficRules_GET",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "minItems": 0,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrafficRule"
                  },
                  "description": "",
                  "examples": [
                    [
                      {
                        "trafficRuleId": "TrafficRule123",
                        "serName": "ExampleService",
                        "filterType": "FLOW",
                        "priority": 1,
                        "trafficFilter": [
                          {
                            "srcAddress": [
                              "192.168.2.0/24",
                              "192.168.3.0/24"
                            ],
                            "dstAddress": [
                              "192.127.4.100/32"
                            ],
                            "dstPort": [
                              "80"
                            ]
                          }
                        ],
                        "action": "FORWARD_DECAPSULATED",
                        "dstInterface": {
                          "interfaceType": "IP",
                          "dstIpAddress": "20.1.1.1"
                        },
                        "state": "ACTIVE"
                      }
                    ]
                  ],
                  "contentMediaType": "application/json"
                },
                "examples": {
                  "TrafficRules": {
                    "value": [
                      {
                        "trafficRuleId": "TrafficRule123",
                        "serName": "ExampleService",
                        "filterType": "FLOW",
                        "priority": 1,
                        "trafficFilter": [
                          {
                            "srcAddress": [
                              "192.168.2.0/24",
                              "192.168.3.0/24"
                            ],
                            "dstAddress": [
                              "192.127.4.100/32"
                            ],
                            "dstPort": [
                              "80"
                            ]
                          }
                        ],
                        "action": "FORWARD_DECAPSULATED",
                        "dstInterface": {
                          "interfaceType": "IP",
                          "dstIpAddress": "20.1.1.1"
                        },
                        "state": "ACTIVE"
                      }
                    ]
                  }
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        },
        "deprecated": false
      },
      "parameters": []
Walter Featherstone's avatar
Walter Featherstone committed
    "/applications/{appInstanceId}/traffic_rules/{trafficRuleId}": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appTrafficRules"
        "description": "This method retrieves information about all the traffic rules associated with a MEC application instance.",
        "operationId": "ApplicationsTrafficRule_GET",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trafficRuleId",
            "in": "path",
            "description": "Represents a traffic rule.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrafficRule"
                },
                "examples": {
                  "TrafficRule": {
                    "value": {
                      "trafficRuleId": "TrafficRule123",
                      "serName": "ExampleService",
                      "filterType": "FLOW",
                      "priority": 1,
                      "trafficFilter": [
                        {
                          "srcAddress": [
                            "192.168.2.0/24",
                            "192.168.3.0/24"
                          ],
                          "dstAddress": [
                            "192.127.4.100/32"
                          ],
                          "dstPort": [
                            "80"
                          ]
                        }
                      ],
                      "action": "FORWARD_DECAPSULATED",
                      "dstInterface": {
                        "interfaceType": "IP",
                        "dstIpAddress": "20.1.1.1"
                      },
                      "state": "ACTIVE"
                    }
                  }
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        },
        "deprecated": false
Walter Featherstone's avatar
Walter Featherstone committed
          "appTrafficRules"
        "description": "This method retrieves information about all the traffic rules associated with a MEC application instance.",
        "operationId": "ApplicationsTrafficRule_PUT",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trafficRuleId",
            "in": "path",
            "description": "Represents a traffic rule.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "One or more updated attributes that are allowed to be changed",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrafficRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrafficRule"
                },
                "examples": {
                  "TrafficRule": {
                    "value": {
                      "trafficRuleId": "TrafficRule123",
                      "serName": "ExampleService",
                      "filterType": "FLOW",
                      "priority": 1,
                      "trafficFilter": [
                        {
                          "srcAddress": [
                            "192.168.2.0/24",
                            "192.168.3.0/24"
                          ],
                          "dstAddress": [
                            "192.127.4.100/32"
                          ],
                          "dstPort": [
                            "80"
                          ]
                        }
                      ],
                      "action": "FORWARD_DECAPSULATED",
                      "dstInterface": {
                        "interfaceType": "IP",
                        "dstIpAddress": "20.1.1.1"
                      },
                      "state": "ACTIVE"
                    }
                  }
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Precondition Failed. It is used when a condition has failed during conditional requests,  e.g. when using ETags to avoid write conflicts.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        "deprecated": false
      },
      "parameters": []
Walter Featherstone's avatar
Walter Featherstone committed
    "/applications/{appInstanceId}/dns_rules": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appDnsRules"
        "description": "This method retrieves information about all the DNS rules associated with a MEC application instance.",
        "operationId": "ApplicationsDnsRules_GET",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "minItems": 0,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DnsRule"
                  },
                  "description": "",
                  "examples": [
                    [
                      {
                        "dnsRuleId": "DnsRule1",
                        "domainName": "www.example.com",
                        "ipAddressType": "IP_V4",
                        "ipAddress": "146.241.7.3",
                        "ttl": 300,
                        "state": "ACTIVE"
                      },
                      {
                        "dnsRuleId": "DnsRule2",
                        "domainName": "www.example.com",
                        "ipAddressType": "IP_V4",
                        "ipAddress": "146.241.7.4",
                        "ttl": 300,
                        "state": "INACTIVE"
                      }
                    ]
                  ],
                  "contentMediaType": "application/json"
                },
                "examples": {
                  "DnsRules": {
                    "value": [
                      {
                        "dnsRuleId": "DnsRule1",
                        "domainName": "www.example.com",
                        "ipAddressType": "IP_V4",
                        "ipAddress": "146.241.7.3",
                        "ttl": 300,
                        "state": "ACTIVE"
                      },
                      {
                        "dnsRuleId": "DnsRule2",
                        "domainName": "www.example.com",
                        "ipAddressType": "IP_V4",
                        "ipAddress": "146.241.7.4",
                        "ttl": 300,
                        "state": "INACTIVE"
                      }
                    ]
                  }
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        },
        "deprecated": false
      },
      "parameters": []
Walter Featherstone's avatar
Walter Featherstone committed
    "/applications/{appInstanceId}/dns_rules/{dnsRuleId}": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appDnsRules"
        "description": "This method retrieves information about a DNS rule associated with a MEC application instance.",
        "operationId": "ApplicationsDnsRule_GET",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dnsRuleId",
            "in": "path",
            "description": "Represents a DNS rule.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsRule"
                },
                "examples": {
                  "DnsRule": {
                    "value": {
                      "dnsRuleId": "DnsRule1",
                      "domainName": "www.example.com",
                      "ipAddressType": "IP_V4",
                      "ipAddress": "146.241.7.3",
                      "ttl": 300,
                      "state": "ACTIVE"
                    }
                  }
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        },
        "deprecated": false
Walter Featherstone's avatar
Walter Featherstone committed
      "put": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appDnsRules"
        "description": "This method activates, de-activates or updates a traffic rule.",
        "operationId": "ApplicationsDnsRule_PUT",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dnsRuleId",
            "in": "path",
            "description": "Represents a DNS rule.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The updated state is included in the entity body of the request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DnsRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsRule"
                },
                "examples": {
                  "DnsRule": {
                    "value": {
                      "dnsRuleId": "DnsRule1",
                      "domainName": "www.example.com",
                      "ipAddressType": "IP_V4",
                      "ipAddress": "146.241.7.3",
                      "ttl": 300,
                      "state": "ACTIVE"
                    }
                  }
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
Walter Featherstone's avatar
Walter Featherstone committed
          },
          "412": {
            "description": "Precondition Failed. It is used when a condition has failed during conditional requests,  e.g. when using ETags to avoid write conflicts.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
Walter Featherstone's avatar
Walter Featherstone committed
        },
        "deprecated": false
      },
      "parameters": []
Walter Featherstone's avatar
Walter Featherstone committed
    "/applications/{appInstanceId}/subscriptions": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appSubscriptions"
        "description": "The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor.",
        "operationId": "ApplicationsSubscriptions_GET",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Upon success, a response body containing the list of links to the requested subscriptions is returned.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MecAppSuptApiSubscriptionLinkList"
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        },
        "deprecated": false
Walter Featherstone's avatar
Walter Featherstone committed
      "post": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appSubscriptions"
        "description": "The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains entity body describing the created subscription.",
        "operationId": "ApplicationsSubscriptions_POST",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Entity body in the request contains a subscription to the MEC application termination notifications that is to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppTerminationNotificationSubscription"
              }
            }
          },
          "required": true
        },
        "responses": {
Walter Featherstone's avatar
Walter Featherstone committed
          "201": {
            "description": "Entity body in the request contains a subscription to the  MEC service availability notifications that is to be created.",
            "headers": {
              "location": {
                "description": "The resource URI of the created resource",
                "content": {
                  "text/plain": {
                    "schema": {
                      "type": "string",
                      "description": "The resource URI of the created resource",
                      "contentMediaType": "text/plain"
                    }
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppTerminationNotificationSubscription"
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        "deprecated": false,
Walter Featherstone's avatar
Walter Featherstone committed
        "callbacks": {
          "AppTerminationNotification": {
            "{$request.body#/callbackUri}": {
              "post": {
                "description": "Represents the information that the MEP notifies the subscribed application instance about the corresponding application instance termination/stop'",
                "operationId": "AppTerminationNotification_POST",
                "tags": [
                  "callbacks"
                ],
                "requestBody": {
                  "$ref": "#/components/requestBodies/AppTerminationNotification"
                },
                "responses": {
                  "200": {
                    "description": "Expected responses from callback consumer, if it accepts the callback"
                  }
                }
              }
            }
      },
      "parameters": []
Walter Featherstone's avatar
Walter Featherstone committed
    "/applications/{appInstanceId}/subscriptions/{subscriptionId}": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appSubscriptions"
        "description": "The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor.",
        "operationId": "ApplicationsSubscription_GET",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Represents a subscription to the notifications from the MEC platform.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Upon success, a response body containing the requested subscription is returned.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppTerminationNotificationSubscription"
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        },
        "deprecated": false
Walter Featherstone's avatar
Walter Featherstone committed
      "delete": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appSubscriptions"
        "description": "This method deletes a mecAppSuptApiSubscription. This method is typically used in \"Unsubscribing from service availability event notifications\" procedure.",
        "operationId": "ApplicationsSubscription_DELETE",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Represents a subscription to the notifications from the MEC platform.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
          },
          "403": {
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "parameters": []
Walter Featherstone's avatar
Walter Featherstone committed
    "/applications/{appInstanceId}/confirm_termination": {
      "post": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appConfirmTermination"
        "description": "This method is used to confirm the application level termination  of an application instance.",
        "operationId": "ApplicationsConfirmTermination_POST",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppTerminationConfirmation"
              }
            }
          },
          "required": false
        },
        "responses": {
Walter Featherstone's avatar
Walter Featherstone committed
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
Walter Featherstone's avatar
Walter Featherstone committed
          "401": {
            "description": "Unauthorized. It is used when the client did not submit the appropriate credentials.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
Walter Featherstone's avatar
Walter Featherstone committed
          "409": {
            "description": "Conflict. The operation cannot be executed currently, due to a conflict with  the state of the resource. Typically, this is because the application  instance resource is in NOT_INSTANTIATED state.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
Walter Featherstone's avatar
Walter Featherstone committed
          "429": {
            "description": "Too Many Requests. It is used when a rate limiter has triggered.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        "deprecated": false
      },
      "parameters": []
Walter Featherstone's avatar
Walter Featherstone committed
    "/applications/{appInstanceId}/confirm_ready": {
      "post": {
Walter Featherstone's avatar
Walter Featherstone committed
          "appConfirmReady"
        "description": "This method may be used by the MEC application instance to notify the MEC platform that it is up and running. ",
        "operationId": "ApplicationsConfirmReady_POST",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppReadyConfirmation"
              }
            }
          },
          "required": false
        },
        "responses": {
Walter Featherstone's avatar
Walter Featherstone committed
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
Walter Featherstone's avatar
Walter Featherstone committed
          "401": {
            "description": "Unauthorized. It is used when the client did not submit the appropriate credentials.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
Walter Featherstone's avatar
Walter Featherstone committed
          },
          "409": {
            "description": "Conflict. The operation cannot be executed currently, due to a conflict with  the state of the resource. Typically, this is because the application  instance resource is in NOT_INSTANTIATED state.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
Walter Featherstone's avatar
Walter Featherstone committed
          },
          "429": {
            "description": "Too Many Requests. It is used when a rate limiter has triggered.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        "deprecated": false
      },
      "parameters": []
    },
    "/timing/timing_caps": {
      "get": {
        "description": "This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query",
        "operationId": "TimingCaps_GET",
        "parameters": [],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimingCaps"
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        },
        "deprecated": false
      },
      "parameters": []
Walter Featherstone's avatar
Walter Featherstone committed
    "/timing/current_time": {
Walter Featherstone's avatar
Walter Featherstone committed
          "timing"
        "description": "This method retrieves the information of the platform's current time which corresponds to the get platform time procedure",
        "operationId": "TimingCurrentTime_GET",
        "parameters": [],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentTime"
                }
              }
            }
            "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
            "description": "Forbidden. The operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found. It is used when a client provided a URI that cannot be mapped  to a valid resource URI.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
        },
        "deprecated": false
      },
      "parameters": []
Walter Featherstone's avatar
Walter Featherstone committed
      "AppReadyConfirmation": {
        "title": "AppReadyConfirmation",
Walter Featherstone's avatar
Walter Featherstone committed
        "required": [
          "indication"
        ],
        "type": "object",
Walter Featherstone's avatar
Walter Featherstone committed
        "properties": {
          "indication": {
            "const": "READY",
            "type": "string",
            "description": "Indication about the MEC application instance.",
            "examples": [
              "READY"
            ]
        },
        "description": "This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running."
Walter Featherstone's avatar
Walter Featherstone committed
      },
      "AppTerminationConfirmation": {
        "title": "AppTerminationConfirmation",
Walter Featherstone's avatar
Walter Featherstone committed
        "required": [
          "operationAction"
        ],
        "type": "object",
Walter Featherstone's avatar
Walter Featherstone committed
        "properties": {
          "operationAction": {
            "$ref": "#/components/schemas/OperationActionType"
          }
        },
        "description": "This type represents the information that the MEC application instance provides to the MEC platform when informing it that the application has completed its application level related terminate/stop actions, e.g. retention of application state in the case of stop."
Walter Featherstone's avatar
Walter Featherstone committed
      },
      "AppTerminationNotification.Links": {
        "title": "AppTerminationNotification.Links",
Walter Featherstone's avatar
Walter Featherstone committed
        "required": [
          "subscription"
        ],
        "type": "object",
Walter Featherstone's avatar
Walter Featherstone committed
        "properties": {
          "subscription": {
            "$ref": "#/components/schemas/LinkType"
          },
          "confirmTermination": {
            "$ref": "#/components/schemas/LinkType.ConfirmTermination"
          }
        },
        "description": "Object containing hyperlinks related to the resource."
        "title": "AppTerminationNotification",
Walter Featherstone's avatar
Walter Featherstone committed
          "operationAction",
        "type": "object",
            "type": "string",
            "description": "Shall be set to AppTerminationNotification.",
            "examples": [
              "AppTerminationNotification"
            ]
Walter Featherstone's avatar
Walter Featherstone committed
          "operationAction": {
            "$ref": "#/components/schemas/OperationActionType"
          },
            "type": "integer",
            "description": "Maximum timeout value in seconds for graceful termination or graceful stop of an application instance.",
            "contentEncoding": "int32",
            "examples": [
              10
            ]
Walter Featherstone's avatar
Walter Featherstone committed
            "$ref": "#/components/schemas/AppTerminationNotification.Links"
        },
        "description": "This type represents the information that the MEC platform notifies the subscribed application instance about  the corresponding application instance termination/stop."
        "title": "AppTerminationNotificationSubscription",
        "required": [
          "subscriptionType",
          "callbackReference",
          "_links",
          "appInstanceId"
        ],
        "type": "object",
            "type": "string",
            "description": "Shall be set to AppTerminationNotificationSubscription.",
            "examples": [
              "AppTerminationNotificationSubscription"
            ]
            "type": "string",
            "description": "URI selected by the MEC application instance to receive notifications on the subscribed MEC application instance management information. This shall be included in both the request and the response."
          },
          "_links": {
            "$ref": "#/components/schemas/Self"
          },
          "appInstanceId": {
            "type": "string",
            "description": "It is used as the filtering criterion for the subscribed events.",
            "examples": [
              "ID1"
            ]
        },
        "description": "This type represents the information that the MEC platform notifies the subscribed application instance about  the corresponding application instance termination/stop."
        "title": "CurrentTime",
          "nanoSeconds",
        "type": "object",
        "properties": {
          "seconds": {
            "type": "integer",
            "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC",