Mp1.json 92.5 KB
Newer Older
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{appInstanceId}/services": {
      "parameters": [
        {
          "$ref": "#/parameters/Path.AppInstanceId"
        }
      ],
        "description": "This method retrieves information about a list of meService resources for a particular application. This method is typically used in \"service availability query\" procedure",
        "operationId": "AppServices.GET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Query.Ser_instance_id"
          },
          {
            "$ref": "#/parameters/Query.Ser_name"
          },
          {
            "$ref": "#/parameters/Query.Ser_category_id"
          },
          {
            "$ref": "#/parameters/Query.Consumed_LocalOnly"
          },
          {
            "$ref": "#/parameters/Query.Is_local"
          },
          {
            "$ref": "#/parameters/Query.Locality_types"
          }
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "ServiceInfo": {
                    "$ref": "#/definitions/ServiceInfo"
                  }
                }
              }
            },
            "examples": {
              "application/json": [
                {
                  "ServiceInfo": {
                    "serInstanceId": "ServiceInstance123",
                    "serName": "ExampleService",
                    "serCategory": {
                      "href": "catItem1",
                      "id": "id12345",
                      "name": "RNI",
                      "version": "version1"
                    "version": "ServiceVersion1",
                    "state": "ACTIVE",
                    "transportId": "Rest1",
                    "transportInfo": {
                      "id": "TransId12345",
                      "name": "REST",
                      "description": "REST API",
                      "type": "REST_HTTP",
                      "protocol": "HTTP",
                      "version": "2.0",
                      "endpoint": {
                        "uris": [
                          "/meMp1/service/EntryPoint"
                        ]
                      },
                      "security": {
                        "oAuth2Info": {
                          "grantTypes": "OAUTH2_CLIENT_CREDENTIALS",
                          "tokenEndpoint": "/meMp1/security/TokenEndPoint"
                        }
                    },
                    "serializer": "JSON",
                    "scopeOfLocality": "MEC_HOST",
                    "consumedLocalOnly": true,
                    "isLocal": false
                  }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "required": [
                "ProblemDetails"
              ],
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "description": "This method is used to create a meService resource. This method is typically used in \"service availability update and new service registration\" procedure",
        "operationId": "AppServices.POST",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Body.ServiceInfo"
          }
        ],
        "responses": {
          "201": {
            "description": "Upon success, the HTTP response shall include a Location HTTP header that contains the resource URI of the created resource.",
            "headers": {
              "location": {
                "description": "The resource URI of the created resource",
                "type": "string",
                "format": "uri"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "ServiceInfo": {
                  "$ref": "#/definitions/ServiceInfo"
                }
              }
            },
            "examples": {
              "application/json": {
                "ServiceInfo": {
                  "serInstanceId": "ServiceInstance123",
                  "serName": "ExampleService",
                  "serCategory": {
                    "href": "catItem1",
                    "id": "id12345",
                    "name": "RNI",
                    "version": "version1"
                  },
                  "version": "ServiceVersion1",
                  "state": "ACTIVE",
                  "transportId": "Rest1",
                  "transportInfo": {
                    "id": "TransId12345",
                    "name": "REST",
                    "description": "REST API",
                    "protocol": "HTTP",
                    "version": "2.0",
                    "endpoint": {
                      "addresses": [
                        {
                          "host": "192.0.2.0",
                        }
                      ]
                    },
                    "security": {
                      "oAuth2Info": {
                        "grantTypes": "OAUTH2_CLIENT_CREDENTIALS",
                        "tokenEndpoint": "/meMp1/security/TokenEndPoint"
                      }
                    }
                  },
                  "serializer": "JSON"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "required": [
                "ProblemDetails"
              ],
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{appInstanceId}/services/{serviceId}": {
      "parameters": [
        {
          "$ref": "#/parameters/Path.ServiceId"
        },
        {
          "$ref": "#/parameters/Path.AppInstanceId"
        }
      ],
      "get": {
        "description": "This method retrieves information about a meService resource. This method is typically used in \"service availability query\" procedure",
        "operationId": "AppServicesServiceId.GET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "schema": {
              "type": "object",
              "properties": {
                "ServiceInfo": {
                  "$ref": "#/definitions/ServiceInfo"
                }
              }
            },
            "examples": {
              "application/json": {
                "ServiceInfo": {
                  "serInstanceId": "ServiceInstance123",
                  "serName": "ExampleService",
                  "serCategory": {
                    "href": "catItem1",
                    "id": "id12345",
                    "name": "RNI",
                    "version": "version1"
                  },
                  "version": "ServiceVersion1",
                  "state": "ACTIVE",
                  "transportId": "Rest1",
                  "transportInfo": {
                    "id": "TransId12345",
                    "name": "REST",
                    "description": "REST API",
                    "protocol": "HTTP",
                    "version": "2.0",
                    "endpoint": {
                      "uris": [
                        "/meMp1/service/EntryPoint"
                      ]
                    },
                    "security": {
                      "oAuth2Info": {
                        "grantTypes": "OAUTH2_CLIENT_CREDENTIALS",
                        "tokenEndpoint": "/meMp1/security/TokenEndPoint"
                      }
                    }
                  },
                  "serializer": "JSON"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "required": [
                "ProblemDetails"
              ],
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "This method updates the information about a meService resource",
        "operationId": "ServicesServiceId.PUT",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Body.ServiceInfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Upon success, a response body containing data type describing the updated ServiceInfo is returned",
            "schema": {
              "type": "object",
              "properties": {
                "ServiceInfo": {
                  "$ref": "#/definitions/ServiceInfo"
                }
              }
            },
            "examples": {
              "application/json": {
                "ServiceInfo": {
                  "serInstanceId": "ServiceInstance123",
                  "serName": "ExampleService",
                  "serCategory": {
                    "href": "catItem1",
                    "id": "id12345",
                    "name": "RNI",
                    "version": "version1"
                  },
                  "version": "ServiceVersion1",
                  "state": "ACTIVE",
                  "transportId": "Rest1",
                  "transportInfo": {
                    "id": "TransId12345",
                    "name": "REST",
                    "description": "REST API",
                    "protocol": "HTTP",
                    "version": "2.0",
                    "endpoint": {
                      "uris": [
                        "/meMp1/service/EntryPoint"
                      ]
                    },
                    "security": {
                      "oAuth2Info": {
                        "grantTypes": "OAUTH2_CLIENT_CREDENTIALS",
                        "tokenEndpoint": "/meMp1/security/TokenEndPoint"
                      }
                    }
                  },
                  "serializer": "JSON"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "required": [
                "ProblemDetails"
              ],
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services": {
      "get": {
        "description": "This method retrieves information about a list of meService resources. This method is typically used in \"service availability query\" procedure",
        "operationId": "Services.GET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Query.Ser_instance_id"
          },
          {
            "$ref": "#/parameters/Query.Ser_name"
          },
          {
            "$ref": "#/parameters/Query.Ser_category_id"
          },
          {
            "$ref": "#/parameters/Query.Consumed_LocalOnly"
          },
          {
            "$ref": "#/parameters/Query.Is_local"
          },
          {
            "$ref": "#/parameters/Query.Locality_types"
          }
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "ServiceInfo": {
                    "$ref": "#/definitions/ServiceInfo"
                  }
                }
              }
            },
            "examples": {
              "application/json": [
                {
                  "ServiceInfo": {
                    "serInstanceId": "ServiceInstance123",
                    "serName": "ExampleService",
                    "serCategory": {
                      "href": "catItem1",
                      "id": "id12345",
                      "name": "RNI",
                      "version": "version1"
                    },
                    "version": "ServiceVersion1",
                    "state": "ACTIVE",
                    "transportId": "Rest1",
                    "transportInfo": {
                      "id": "TransId12345",
                      "name": "REST",
                      "description": "REST API",
                      "type": "REST_HTTP",
                      "protocol": "HTTP",
                      "version": "2.0",
                      "endpoint": {
                        "uris": [
                          "/meMp1/service/EntryPoint"
                        ]
                      },
                      "security": {
                        "oAuth2Info": {
                          "grantTypes": "OAUTH2_CLIENT_CREDENTIALS",
                          "tokenEndpoint": "/meMp1/security/TokenEndPoint"
                        }
                      }
                    },
                    "serializer": "JSON",
                    "scopeOfLocality": "MEC_SYSTEM",
                    "consumedLocalOnly": true,
                    "isLocal": false
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "required": [
                "ProblemDetails"
              ],
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}": {
      "parameters": [
        {
          "$ref": "#/parameters/Path.ServiceId"
        }
      ],
      "get": {
        "description": "This method retrieves information about a meService resource. This method is typically used in \"service availability query\" procedure",
        "operationId": "ServicesServiceId.GET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "schema": {
              "type": "object",
              "properties": {
                "ServiceInfo": {
                  "$ref": "#/definitions/ServiceInfo"
                }
              }
            },
            "examples": {
              "application/json": {
                "ServiceInfo": {
                  "serInstanceId": "ServiceInstance123",
                  "serName": "ExampleService",
                  "serCategory": {
                    "href": "catItem1",
                    "id": "id12345",
                    "name": "RNI",
                    "version": "version1"
                  },
                  "version": "ServiceVersion1",
                  "state": "ACTIVE",
                  "transportId": "Rest1",
                  "transportInfo": {
                    "id": "TransId12345",
                    "name": "REST",
                    "description": "REST API",
                    "type": "REST_HTTP",
                    "protocol": "HTTP",
                    "version": "2.0",
                    "endpoint": {
                      "addresses": [
                        {
                          "host": "192.0.2.0",
                          "port": 8080
                        }
                      ]
                    },
                    "security": {
                      "oAuth2Info": {
                        "grantTypes": "OAUTH2_CLIENT_CREDENTIALS",
                        "tokenEndpoint": "/meMp1/security/TokenEndPoint"
                      }
                    }
                  },
                  "serializer": "JSON"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "required": [
                "ProblemDetails"
              ],
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/timing/current_time": {
      "get": {
        "description": "This method retrieves the information of the platform's current time which corresponds to the get platform time procedure",
        "operationId": "TimingCurrentTime.GET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "schema": {
              "type": "object",
              "properties": {
                "CurrentTime": {
                  "$ref": "#/definitions/CurrentTime"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "required": [
                "ProblemDetails"
              ],
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/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",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "schema": {
              "type": "object",
              "properties": {
                "TimingCaps": {
                  "$ref": "#/definitions/TimingCaps"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "required": [
                "ProblemDetails"
              ],
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/transports": {
      "get": {
        "description": "This method retrieves information about a list of available transports. This method is typically used by a service-producing application to discover transports provided by the MEC platform in the \"transport information query\" procedure",
        "operationId": "Transports.GET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "TransportInfo": {
                    "$ref": "#/definitions/TransportInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "required": [
                "ProblemDetails"
              ],
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "ProblemDetails": {
                  "$ref": "#/definitions/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "ServiceAvailabilityNotification.Services": {
      "description": "This is the information about the services whose availability has changed..",
      "type": "array",
      "items": {
        "$ref": "#/definitions/ServiceInfo"
      }
    "ServiceAvailabilityNotification.NotificationType": {
      "description": "Shall be set to ServiceAvailabilityNotification.",
      "type": "string",
      "example": "ServiceAvailabilityNotification"
    "ServiceAvailabilityNotification": {
      "description": "This type represents the information that the MEC platform notifies the subscribed application instance about  the corresponding application instance termination/stop.",
      "type": "object",
      "required": [
        "notificationType",
        "_links"
      ],
      "properties": {
        "notificationType": {
          "$ref": "#/definitions/ServiceAvailabilityNotification.NotificationType"
        "Services": {
          "$ref": "#/definitions/ServiceAvailabilityNotification.Services"
        },
        "_links": {
          "$ref": "#/definitions/Subscription"
        }
      }
    },
    "AppTerminationNotification.MaxGracefulTimeout": {
      "description": "Maximum timeout value in seconds for graceful termination or graceful stop of an application instance.",
      "type": "integer",
      "format": "uint32",
      "example": 10
    "AppTerminationNotification.NotificationType": {
      "description": "Shall be set to AppTerminationNotification.",
      "type": "string",
      "example": "AppTerminationNotification"
    "AppTerminationNotification": {
      "description": "This type represents the information that the MEC platform notifies the subscribed application instance about  the corresponding application instance termination/stop.",
      "type": "object",
      "required": [
        "notificationType",
        "maxGracefulTimeout",
        "_links"
      ],
      "properties": {
        "notificationType": {
          "$ref": "#/definitions/AppTerminationNotification.NotificationType"
        "maxGracefulTimeout": {
          "$ref": "#/definitions/AppTerminationNotification.MaxGracefulTimeout"
          "$ref": "#/definitions/Subscription"
        }
      }
    },
    "CategoryRef.Href": {
      "description": "Reference of the catalogue",
      "type": "string",
      "example": "catItem1"
    },
    "CategoryRef.Id": {
      "description": "Unique identifier of the category",
      "type": "string",
      "example": "id12345"
    },
    "CategoryRef.Name": {
      "description": "Name of the category",
      "type": "string",
      "example": "RNI"
    },
    "CategoryRef.Version": {
      "description": "Category version",
      "type": "string",
      "example": "version1"
    },
    "CategoryRef": {
      "description": "This type represents the category reference",
      "type": "object",
      "required": [
        "href",
        "id",
        "name",
        "version"
      ],
      "properties": {
        "href": {
          "$ref": "#/definitions/CategoryRef.Href"
        },
        "id": {
          "$ref": "#/definitions/CategoryRef.Id"
        },
        "name": {
          "$ref": "#/definitions/CategoryRef.Name"
        },
        "version": {
          "$ref": "#/definitions/CategoryRef.Version"
        }
      }
    },
    "CurrentTime": {
      "description": "This type represents the information provided by the MEC platform in response to the Get Platform Time Request message.",
      "type": "object",
      "required": [
        "nanoSeconds",
        "seconds",
        "timeSourceStatus"
      ],
      "properties": {
        "seconds": {
          "type": "integer",