MecServiceMgmtApi.json 77.6 KB
Newer Older
                  "ServiceInfo": {
                    "value": {
                      "serInstanceId": "ServiceInstance123",
                      "serName": "ExampleService",
                      "serCategory": {
                        "href": "catItem1",
                        "id": "id12345",
                        "name": "RNI",
                        "version": "version1"
                      },
                      "version": "ServiceVersion1",
                      "state": "ACTIVE",
                      "transportInfo": {
                        "id": "TransId12345",
                        "name": "REST",
                        "description": "REST API",
                        "type": "REST_HTTP",
                        "protocol": "HTTP",
                        "version": "2.0",
                        "endpoint": {
                          "uris": [
                            "/mecSerMgmtApi/service/EntryPoint"
                          ]
                        },
                        "security": {
                          "oAuth2Info": {
                            "grantTypes": [
                              "OAUTH2_CLIENT_CREDENTIALS"
                            ],
                            "tokenEndpoint": "/mecSerMgmtApi/security/TokenEndPoint"
                          }
                        }
                      },
                      "serializer": "JSON"
                    }
                  }
                }
              }
            }
            "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"
                }
              }
            }
          },
          "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"
                }
              }
            }
        },
        "deprecated": false
          "appServices"
        ],
        "description": "This method deletes a mecService resource. This method is typically used in the service deregistration procedure. ",
        "operationId": "AppServicesServiceId_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": "serviceId",
            "in": "path",
            "description": "Represents a MEC service instance.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
            "description": "No Content",
            "headers": {},
            "content": {}
            "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": []
    "/services": {
          "services"
        ],
        "description": "This method retrieves information about a list of mecService resources. This method is typically used in \"service availability query\" procedure",
        "operationId": "Services_GET",
        "parameters": [
          {
            "name": "ser_instance_id",
            "in": "query",
            "description": "A MEC application instance may use multiple ser_instance_ids as an input parameter to query the availability of a list of MEC service instances. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "ser_name",
            "in": "query",
            "description": "A MEC application instance may use multiple ser_names as an input parameter to query the availability of a list of MEC service instances. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "ser_category_id",
            "in": "query",
            "description": "A MEC application instance may use ser_category_id as an input parameter to query the availability of a list of MEC service instances in a serCategory. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "consumed_local_only",
            "in": "query",
            "description": "Indicate whether the service can only be consumed by the MEC  applications located in the same locality (as defined by  scopeOfLocality) as this service instance.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "is_local",
            "in": "query",
            "description": "Indicate whether the service is located in the same locality (as  defined by scopeOfLocality) as the consuming MEC application.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "scope_of_locality",
            "in": "query",
            "description": "A MEC application instance may use scope_of_locality as an input  parameter to query the availability of a list of MEC service instances  with a certain scope of locality.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
            "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/ServiceInfo"
                  },
                  "description": "",
                  "examples": [
                    [
                      {
                        "serInstanceId": "ServiceInstance123",
                        "serName": "ExampleService",
                        "serCategory": {
                          "href": "catItem1",
                          "id": "id12345",
                          "name": "RNI",
                          "version": "version1"
                        },
                        "version": "ServiceVersion1",
                        "state": "ACTIVE",
                        "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": "/mecSerMgmtApi/security/TokenEndPoint"
                            }
                          }
                        },
                        "serializer": "JSON"
                      }
                    ]
                  ],
                  "contentMediaType": "application/json"
                },
                "examples": {
                  "ServiceInfoList": {
                    "value": [
                      {
                        "serInstanceId": "ServiceInstance123",
                        "serName": "ExampleService",
                        "serCategory": {
                          "href": "catItem1",
                          "id": "id12345",
                          "name": "RNI",
                          "version": "version1"
                        },
                        "version": "ServiceVersion1",
                        "state": "ACTIVE",
                        "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": "/mecSerMgmtApi/security/TokenEndPoint"
                            }
                          }
                        },
                        "serializer": "JSON"
                      }
                    ]
                  }
                }
              }
            }
            "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"
                }
              }
            }
          },
          "414": {
            "description": "It is used to indicate that the server is refusing to process the request because the request URI is longer than the server is willing or able to process.",
            "headers": {},
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "Empty schema",
                  "contentMediaType": "text/plain"
                }
              }
            }
          }
        },
        "deprecated": false
      "parameters": []
    },
    "/services/{serviceId}": {
      "get": {
        "tags": [
          "services"
        ],
        "description": "This method retrieves information about a mecService resource. This method is typically used in \"service availability query\" procedure",
        "operationId": "ServicesServiceId_GET",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "description": "Represents a MEC service instance.",
            "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/ServiceInfo"
                },
                "examples": {
                  "ServiceInfo": {
                    "value": {
                      "serInstanceId": "ServiceInstance123",
                      "serName": "ExampleService",
                      "serCategory": {
                        "href": "catItem1",
                        "id": "id12345",
                        "name": "RNI",
                        "version": "version1"
                      },
                      "version": "ServiceVersion1",
                      "state": "ACTIVE",
                      "transportInfo": {
                        "id": "TransId12345",
                        "name": "REST",
                        "description": "REST API",
                        "type": "REST_HTTP",
                        "protocol": "HTTP",
                        "version": "2.0",
                        "endpoint": {
                          "uris": [
                            "/mecSerMgmtApi/service/EntryPoint"
                          ]
                        },
                        "security": {
                          "oAuth2Info": {
                            "grantTypes": [
                              "OAUTH2_CLIENT_CREDENTIALS"
                            ],
                            "tokenEndpoint": "/mecSerMgmtApi/security/TokenEndPoint"
                          }
                        }
                      },
                      "serializer": "JSON"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "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"
                }
              }
            }
          },
          "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": []
    },
    "/transports": {
      "get": {
        "tags": [
          "transports"
        ],
        "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",
        "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": {
                  "minItems": 0,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TransportInfo"
                  },
                  "description": "",
                  "contentMediaType": "application/json"
                }
              }
            }
          },
          "400": {
            "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"
                }
              }
            }
          },
          "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": []
    }
  },
  "components": {
    "schemas": {
        "title": "CategoryRef",
        "required": [
          "href",
          "id",
          "name",
          "version"
        ],
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "description": "Reference of the catalogue",
            "examples": [
              "/example/catalogue1"
            ]
            "type": "string",
            "description": "Unique identifier of the category",
            "examples": [
              "id12345"
            ]
            "type": "string",
            "description": "Name of the category, example values include RNI, Location & Bandwidth Management",
            "examples": [
              "RNI"
            ]
            "type": "string",
            "description": "Category version",
            "examples": [
              "version1"
            ]
        },
        "description": "This type represents the category reference"
      },
      "EndPointInfo.Address": {
        "title": "EndPointInfo.Address",
        "type": "object",
        "properties": {
          "host": {
            "type": "string",
            "description": "Host portion of the address",
            "examples": [
              "192.0.2.0"
            ]
            "type": "integer",
            "description": "Port portion of the address",
            "contentEncoding": "int32",
            "examples": [
              8080
            ]
        },
        "description": "A IP address and port pair"
      },
      "EndPointInfo.Addresses": {
        "title": "EndPointInfo.Addresses",
        "required": [
          "addresses"
        ],
        "type": "object",
        "properties": {
          "addresses": {
            "minItems": 0,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EndPointInfo.Address"
            },
            "description": ""
        },
        "description": "Entry point information of the service as one or more pairs of IP address and port"
      },
      "EndPointInfo.Alternative": {
        "title": "EndPointInfo.Alternative",
        "required": [
          "alternative"
        ],
        "type": "object",
        "properties": {
          "alternative": {
            "type": "object"
          }
        },
        "description": "Entry point information of the service in a format defined by an implementation, or in an external specification."
      },
      "EndPointInfo.Uris": {
        "title": "EndPointInfo.Uris",
        "type": "object",
        "properties": {
          "uris": {
            "minItems": 0,
            "type": "array",
              "type": "string"
            },
            "description": ""
        },
        "description": "Entry point information of the service as string, formatted according to URI syntax"
        "title": "LinkType",
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "description": "URI referring to a resource",
            "examples": [
              "/mecSerMgmtApi/example"
            ]
        },
        "description": "This type represents a type of link and may be referenced from data structures"
      },
      "MecServiceMgmtApiSubscriptionLinkList.Links": {
        "title": "MecServiceMgmtApiSubscriptionLinkList.Links",
        "type": "object",
        "properties": {
          "self": {
            "$ref": "#/components/schemas/LinkType"
          },
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MecServiceMgmtApiSubscriptionLinkList.Subscription"
            },
            "description": "The MEC application instance's subscriptions"
        },
        "description": "Self-referring URI."
      },
      "MecServiceMgmtApiSubscriptionLinkList.Subscription": {
        "title": "MecServiceMgmtApiSubscriptionLinkList.Subscription",
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "description": "URI referring to a resource",
            "examples": [
              "/mecSerMgmtApi/example"
            ]
            "type": "string",
            "description": "The value shall be se to SerAvailabilityNotificationSubscription."
        },
        "description": "A link to a subscription."
      },
      "MecServiceMgmtApiSubscriptionLinkList": {
        "title": "MecServiceMgmtApiSubscriptionLinkList",
        "type": "object",
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/MecServiceMgmtApiSubscriptionLinkList.Links"
          }
        },
        "description": "This type represents a list of links related to currently existing subscriptions for a MEC application instance. This information is returned when sending a request to receive current subscriptions."
      },
      "ProblemDetails": {
        "title": "ProblemDetails",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "A URI reference according to IETF RFC 3986 that identifies the problem type"
            "type": "string",
            "description": "A short, human-readable summary of the problem type"
            "type": "integer",
            "description": "The HTTP status code for this occurrence of the problem",
            "contentEncoding": "int32"
            "type": "string",
            "description": "A human-readable explanation specific to this occurrence of the problem"
            "type": "string",
            "description": "A URI reference that identifies the specific occurrence of the problem"
kharimza's avatar
kharimza committed
      "SecurityInfo.OAuth2Info.GrantType": {
        "title": "SecurityInfo.OAuth2Info.GrantType",
        "enum": [
          "OAUTH2_AUTHORIZATION_CODE",
          "OAUTH2_IMPLICIT_GRANT",
          "OAUTH2_RESOURCE_OWNER",
          "OAUTH2_CLIENT_CREDENTIALS"
        ],
        "type": "string",
        "description": "OAuth 2.0 grant type",
        "examples": [
          "OAUTH2_CLIENT_CREDENTIALS"
        ]
      },
      "SecurityInfo.OAuth2Info": {
        "title": "SecurityInfo.OAuth2Info",
        "required": [
          "grantTypes",
          "tokenEndpoint"
        ],
        "type": "object",
        "properties": {
          "grantTypes": {
            "maxItems": 4,
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecurityInfo.OAuth2Info.GrantType"
            },
            "description": "List of supported OAuth 2.0 grant types."
            "type": "string",
            "description": "The token endpoint",
            "examples": [
              "/mecSerMgmtApi/security/TokenEndPoint"
            ]
        "description": "Parameters related to use of OAuth 2.0"
        "title": "SecurityInfo",
        "type": "object",
        "properties": {
          "oAuth2Info": {
            "$ref": "#/components/schemas/SecurityInfo.OAuth2Info"
          }
        },
        "description": "This type represents security information related to a transport"
        "title": "Self",
        "type": "object",
        "properties": {
          "self": {
            "$ref": "#/components/schemas/LinkType"
          }
        },
        "description": "Self-referring URI."
      },
      "SerAvailabilityNotificationSubscription": {
        "title": "SerAvailabilityNotificationSubscription",
        "required": [
          "subscriptionType",
          "callbackReference",
kharimza's avatar
kharimza committed
          "_links"
        "type": "object",
        "properties": {
          "subscriptionType": {
            "type": "string",
            "description": "Shall be set to SerAvailabilityNotificationSubscription.",
            "examples": [
              "SerAvailabilityNotificationSubscription"
            ]
          },
          "callbackReference": {
            "type": "string",
            "description": "URI selected by the MEC application instance to receive notifications on the subscribed MEC service availability information. This shall be included in both the request and the response."
          },
          "_links": {
            "$ref": "#/components/schemas/Self"
          },
          "filteringCriteria": {
kharimza's avatar
kharimza committed
            "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription.FilteringCriteria"
          }
        }
      },
      "SerAvailabilityNotificationSubscription.FilteringCriteria": {
        "title": "SerAvailabilityNotificationSubscription.FilteringCriteria",
kharimza's avatar
kharimza committed
        "type": "object",
        "properties": {
          "serInstanceIds": {
            "minItems": 0,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Identifiers of service instances about which to report events."
kharimza's avatar
kharimza committed
          },
          "serNames": {
            "minItems": 0,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Names of services about which to report events."
kharimza's avatar
kharimza committed
          },
          "serCategories": {
            "minItems": 0,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CategoryRef"
            },
            "description": "Categories of services about which to report events."
kharimza's avatar
kharimza committed
          },
          "states": {
            "minItems": 0,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceState"
            },
            "description": "States of the services about which to report events. If the event is  a state change, this filter represents the state after the change."
kharimza's avatar
kharimza committed
          },
          "isLocal": {
            "type": "boolean",
            "description": "Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.",
            "examples": [
              true
            ]
        },
        "description": "Filtering criteria to match services for which events are requested to be reported. If absent, matches all services. All child attributes are combined with the logical  \"AND\" operation."
      },
      "ServiceAvailabilityNotification": {
        "title": "ServiceAvailabilityNotification",
        "required": [
          "notificationType",
kharimza's avatar
kharimza committed
          "serviceReferences",
        "type": "object",
        "properties": {
          "notificationType": {
            "type": "string",
            "description": "Shall be set to SerAvailabilityNotificationSubscription.",
            "examples": [
              "SerAvailabilityNotificationSubscription"
            ]
kharimza's avatar
kharimza committed
          "serviceReferences": {
            "type": "array",
            "items": {
kharimza's avatar
kharimza committed
              "$ref": "#/components/schemas/ServiceAvailabilityNotification.ServiceReferences"
            },
            "description": ""
          },
          "_links": {
            "$ref": "#/components/schemas/Subscription"