Newer
Older
"info": {
"title": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management",
"description": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management described using OpenAPI.",
"license": {
"name": "BSD-3-Clause",
"url": "https://forge.etsi.org/legal-matters"
"contact": {
"name": "ETSI Forge",
"url": "https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api",
"email": "cti_support@etsi.org"
},
"version": "2.1.1"
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"externalDocs": {
"description": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1",
"url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf"
},
"tags": [
{
"name": "app-pkgm",
"description": "App Package management"
{
"name": "app-pkgm-notifications",
"description": "App Package management notifications"
}
],
"servers": [
{
"url": "https://localhost/app_pkgm/v1",
"variables": {}
}
],
"paths": {
"/app_packages": {
"post": {
"tags": [
"app-pkgm"
],
"summary": "Create a resource for on-boarding an application package to a MEO",
"description": "Create a resource for on-boarding an application package to a MEO",
"operationId": "app_packagesPOST",
"requestBody": {
"description": "Resource to be created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateAppPkg"
"responses": {
"201": {
"description": "Successful response for resource creation",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AppPkgInfo"
},
"description": "",
"contentMediaType": "application/json"
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"406": {
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"get": {
"tags": [
"app-pkgm"
],
"summary": "Queries information relating to on-boarded application packages in the MEO'",
"description": "queries information relating to on-boarded application packages in the MEO",
"operationId": "app_packagesGET",
"name": "filter",
"in": "query",
"description": "Attribute-based filtering parameters according to ETSI GS MEC 009",
"style": "form",
"explode": true,
"schema": {
"type": "string"
},
{
"name": "all_fields",
"in": "query",
"description": "Include all complex attributes in the response.",
"style": "form",
"explode": true,
"schema": {
"type": "string"
},
{
"name": "fields",
"in": "query",
"description": "Complex attributes of AppPkgInfo to be included into the response",
"style": "form",
"explode": true,
"schema": {
"type": "string"
},
{
"name": "exclude_fields",
"in": "query",
"description": "Complex attributes of AppPkgInfo to be excluded from the response.",
"style": "form",
"explode": true,
"schema": {
"type": "string"
},
{
"name": "exclude_default",
"in": "query",
"description": "Indicates to exclude the following complex attributes of AppPkgInfo from the response.",
"style": "form",
"explode": true,
"schema": {
"type": "string"
],
"responses": {
"200": {
"description": "Contains a representation of the application package resource",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AppPkgInfo"
},
"description": "",
"contentMediaType": "application/json"
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"406": {
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"deprecated": false
},
"parameters": []
},
"/app_packages/{appPkgId}": {
"get": {
"tags": [
"app-pkgm"
],
"summary": "Queries the information related to individual application package resources",
"description": "Queries the information related to individual application package resources",
"operationId": "app_packageGET",
"parameters": [
{
"name": "appPkgId",
"in": "path",
"description": "Identifier of an individual application package resource",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Contains a representation of the application package resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppPkgInfo"
},
"400": {
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"406": {
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"delete": {
"tags": [
"app-pkgm"
],
"summary": "Deletes an individual application package resources",
"description": "Deletes an individual application package resources",
"operationId": "app_packageDELETE",
"parameters": [
{
"name": "appPkgId",
"in": "path",
"description": "Identifier of an individual application package resource",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "No Content",
"headers": {},
"content": {}
},
"400": {
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"406": {
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"patch": {
"tags": [
"app-pkgm"
],
"summary": "Updates the operational state of an individual application package resource",
"description": "Updates the operational state of an individual application package resources",
"operationId": "app_packagePATCH",
"parameters": [
{
"name": "appPkgId",
"in": "path",
"description": "Identifier of an individual application package resource",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Operational state to be set",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppPkgInfoModifications"
}
}
},
"responses": {
"200": {
"description": "Shows that the operation has been completed successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppPkgInfoModifications"
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"406": {
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"409": {
"description": "Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"deprecated": false
},
"parameters": []
},
"/subscriptions": {
"post": {
"tags": [
"app-pkgm"
],
"summary": "Subscribe to notifications about on-boarding an application package",
"description": "Subscribe to notifications about on-boarding an application package",
"operationId": "subscriptionsPOST",
"requestBody": {
"description": "The input parameters of subscribe operation to notifications",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppPkgSubscription"
"responses": {
"201": {
"description": "Successful response for created subscription",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppPkgSubscriptionInfo"
},
"400": {
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"406": {
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"callbacks": {
"notification": {
"{$request.body#/subscription.href}": {
"post": {
"summary": "Callback POST used to send a notification",
"description": " The notification is triggered when a new application package is onboarded",
"operationId": "notificationPOST",
"requestBody": {
"description": "Subscription notification",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppPkgNotification"
}
}
}
},
"responses": {
"204": {
"description": "No content"
}
}
}
}
"get": {
"tags": [
"app-pkgm"
"summary": "used to retrieve the information of subscriptions to individual application package resource in MEO",
"description": "used to retrieve the information of subscriptions to individual application package resource in MEO package",
"operationId": "subscriptionsGET",
"responses": {
"200": {
"description": "List of zero or more subscriptions",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppPkgSubscriptionLinkList"
},
"400": {
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"406": {
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"deprecated": false
},
"parameters": []
},
"/subscriptions/{subscriptionId}": {
"get": {
"tags": [
"app-pkgm"
],
"summary": "Used to represent an individual subscription to notifications about application package changes.",
"description": "Used to represent an individual subscription to notifications about application package changes.",
"operationId": "individualSubscriptionGET",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Identifier of an individual subscription to notifications about application package changes",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Representation of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppPkgSubscriptionInfo"
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"406": {
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"delete": {
"tags": [
"app-pkgm"
],
"summary": "Deletes the individual subscription to notifications about application package changes in MEO.",
"description": "Deletes the individual subscription to notifications about application package changes in MEO.",
"operationId": "individualSubscriptionDELETE",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Identifier of an individual subscription to notifications about application package changes",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "No Content",
"headers": {},
"content": {}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},