openapi: 3.2.0 info: title: Gsma Application API x-refined-note: - x-api-id differs across the merged source definitions and was not carried - x-generation-data-model-version differs across the merged source definitions and was not carried - x-generation-date differs across the merged source definitions and was not carried - x-generation-tooling-version differs across the merged source definitions and was not carried version: '1.0' description: 'Operations tagged Application across 2 of this provider''s published API definitions: global-system-for-mobile-communications-application-api-openapi.yml, open-gateway-application-api-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: '{apiRoot}/{basePath}' variables: apiRoot: default: http://localhost:443 description: API root basePath: default: edge-application-management/vwip description: Base path for the Edge Application Management API - url: '{apiRoot}/openGatewayOperateAPIOnboardingAndOrdering/v5/' variables: apiRoot: default: https://serverRoot/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5 enum: - https://serverRoot/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5 tags: - name: Application description: Application and Application Instance Lice Cycle Management paths: /apps: post: security: - openId: - edge-application-management:apps:write tags: - Application summary: Global System for Mobile Communications Submit application metadata to the Edge… description: 'Contains the information about the application to be instantiated in the Edge Cloud' operationId: submitApp parameters: - $ref: '#/components/parameters/x-correlator' requestBody: description: 'The Application Provider request contains mandatory criteria (e.g. required CPU, memory, storage, bandwidth) and optional parameters. ' content: application/json: schema: $ref: '#/components/schemas/AppManifest' required: true responses: '201': description: Application created successfully headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: $ref: '#/components/schemas/SubmittedApp' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 409 code: CONFLICT message: App already exists '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' get: security: - openId: - edge-application-management:apps:read tags: - Application summary: Global System for Mobile Communications Retrieve a list of existing Applications description: 'Get the list of all existing Application definitions from the Edge Cloud Provider that the user has permission to view.' operationId: getApps parameters: - $ref: '#/components/parameters/x-correlator' responses: '200': description: List of existing applications headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: type: array items: $ref: '#/components/schemas/AppManifest' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' servers: - url: '{apiRoot}/{basePath}' variables: apiRoot: default: http://localhost:443 description: API root basePath: default: edge-application-management/vwip description: Base path for the Edge Application Management API /apps/{appId}: get: security: - openId: - edge-application-management:apps:read tags: - Application summary: Global System for Mobile Communications Retrieve the information of an… description: Ask the Edge Cloud Provider the information for a given application operationId: getApp parameters: - $ref: '#/components/parameters/x-correlator' - name: appId description: 'A globally unique identifier associated with the application. Edge Cloud Provider generates this identifier when the application is submitted. ' in: path required: true schema: $ref: '#/components/schemas/AppId' responses: '200': description: Information of Application headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: type: object properties: appManifest: $ref: '#/components/schemas/AppManifest' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' delete: security: - openId: - edge-application-management:apps:delete tags: - Application summary: Global System for Mobile Communications Delete an Application from an Edge… description: Delete all the information and content related to an Application operationId: deleteApp parameters: - $ref: '#/components/parameters/x-correlator' - name: appId in: path description: 'Identificator of the application to be deleted provided by the Edge Cloud Provider once the submission was successful ' required: true schema: $ref: '#/components/schemas/AppId' responses: '202': description: Request accepted headers: x-correlator: $ref: '#/components/headers/x-correlator' '204': description: App deleted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 409 code: CONFLICT message: App with a running application instance cannot be deleted '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' servers: - url: '{apiRoot}/{basePath}' variables: apiRoot: default: http://localhost:443 description: API root basePath: default: edge-application-management/vwip description: Base path for the Edge Application Management API /appinstances: post: security: - openId: - edge-application-management:instances:write tags: - Application summary: Global System for Mobile Communications Instantiation of an Application description: 'Ask the Edge Cloud Platform to instantiate an application to one or several Edge Cloud Zones with an Application as an input and an Application Instance as the output.' operationId: createAppInstance parameters: - $ref: '#/components/parameters/x-correlator' requestBody: description: 'The Application ID and the array of Edge Cloud Zones to deploy it to. ' content: application/json: schema: type: object required: - appId - appZones properties: appId: $ref: '#/components/schemas/AppId' appZones: $ref: '#/components/schemas/AppZones' required: true responses: '202': description: Application instantiation accepted headers: x-correlator: $ref: '#/components/headers/x-correlator' Location: description: Contains the URI of the newly created application. required: true schema: type: string content: application/json: schema: type: object properties: appInstances: type: array items: $ref: '#/components/schemas/AppInstanceInfo' minItems: 1 '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 409 code: CONFLICT message: Application already instantiated in the given Edge Cloud Zone or Edge Cloud Region '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' get: security: - openId: - edge-application-management:instances:read tags: - Application summary: Global System for Mobile Communications Retrieve the information of Application… description: 'Ask the Edge Cloud Provider the information of the instances for a given application' operationId: getAppInstance parameters: - $ref: '#/components/parameters/x-correlator' - name: appId description: 'A globally unique identifier associated with the application. Edge Cloud Provider generates this identifier when the application is submitted. ' in: query required: false schema: $ref: '#/components/schemas/AppId' - name: appInstanceId description: 'A globally unique identifier associated with a running instance of an application within an specific Edge Cloud Zone. Edge Cloud Provider generates this identifier. ' in: query required: false schema: $ref: '#/components/schemas/AppInstanceId' - name: region description: 'Human readable name of the geographical Edge Cloud Region of the Edge Cloud. Defined by the Edge Cloud Provider. ' in: query required: false schema: $ref: '#/components/schemas/EdgeCloudRegion' responses: '200': description: Information of Application Instances headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: type: object properties: appInstanceInfo: type: array items: $ref: '#/components/schemas/AppInstanceInfo' minItems: 1 '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' servers: - url: '{apiRoot}/{basePath}' variables: apiRoot: default: http://localhost:443 description: API root basePath: default: edge-application-management/vwip description: Base path for the Edge Application Management API /appinstances/{appInstanceId}: delete: security: - openId: - edge-application-management:instances:delete tags: - Application summary: Global System for Mobile Communications Terminate an Application Instance description: 'Terminate a running instance of an application within an Edge Cloud Zone' operationId: deleteAppInstance parameters: - $ref: '#/components/parameters/x-correlator' - name: appInstanceId in: path description: 'Identificator of the specific application instance that will be terminated ' required: true schema: $ref: '#/components/schemas/AppInstanceId' responses: '202': description: 'Request accepted to be processed. It applies for async deletion process ' headers: x-correlator: $ref: '#/components/headers/x-correlator' '204': description: Application Instance Deleted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' servers: - url: '{apiRoot}/{basePath}' variables: apiRoot: default: http://localhost:443 description: API root basePath: default: edge-application-management/vwip description: Base path for the Edge Application Management API /application: post: tags: - Application summary: Creates a Application description: This operation creates a Application entity. operationId: createApplication parameters: - $ref: '#/components/parameters/Fields' requestBody: $ref: '#/components/requestBodies/Application_FVO' responses: '201': $ref: '#/components/responses/201Application' '202': description: Accepted '400': $ref: '#/components/responses/400_2' '401': $ref: '#/components/responses/401_2' '403': $ref: '#/components/responses/403_2' '404': $ref: '#/components/responses/404_2' '405': $ref: '#/components/responses/405' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500_2' '501': $ref: '#/components/responses/501_2' '503': $ref: '#/components/responses/503_2' get: tags: - Application summary: List or find Application objects operationId: listApplication parameters: - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Before' - $ref: '#/components/parameters/After' - $ref: '#/components/parameters/Sort' - $ref: '#/components/parameters/Filter' responses: '200': $ref: '#/components/responses/200ApplicationArray' '400': $ref: '#/components/responses/400_2' '401': $ref: '#/components/responses/401_2' '403': $ref: '#/components/responses/403_2' '404': $ref: '#/components/responses/404_2' '405': $ref: '#/components/responses/405' '500': $ref: '#/components/responses/500_2' '501': $ref: '#/components/responses/501_2' '503': $ref: '#/components/responses/503_2' servers: - url: '{apiRoot}/openGatewayOperateAPIOnboardingAndOrdering/v5/' variables: apiRoot: default: https://serverRoot/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5 enum: - https://serverRoot/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5 /application/{id}: get: tags: - Application summary: Retrieves a Application by ID description: This operation retrieves a Application entity. Attribute selection enabled for all first level attributes. operationId: retrieveApplication parameters: - $ref: '#/components/parameters/Id' - $ref: '#/components/parameters/Fields' responses: '200': $ref: '#/components/responses/200Application_Get' '400': $ref: '#/components/responses/400_2' '401': $ref: '#/components/responses/401_2' '403': $ref: '#/components/responses/403_2' '404': $ref: '#/components/responses/404_2' '405': $ref: '#/components/responses/405' '500': $ref: '#/components/responses/500_2' '501': $ref: '#/components/responses/501_2' '503': $ref: '#/components/responses/503_2' patch: tags: - Application summary: Updates partially a Application description: This operation updates partially a Application entity. operationId: patchApplication parameters: - $ref: '#/components/parameters/Id' - $ref: '#/components/parameters/Fields' requestBody: $ref: '#/components/requestBodies/Application_MVO' responses: '200': $ref: '#/components/responses/200Application_Patch' '202': description: Accepted '400': $ref: '#/components/responses/400_2' '401': $ref: '#/components/responses/401_2' '403': $ref: '#/components/responses/403_2' '404': $ref: '#/components/responses/404_2' '405': $ref: '#/components/responses/405' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500_2' '501': $ref: '#/components/responses/501_2' '503': $ref: '#/components/responses/503_2' servers: - url: '{apiRoot}/openGatewayOperateAPIOnboardingAndOrdering/v5/' variables: apiRoot: default: https://serverRoot/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5 enum: - https://serverRoot/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5 components: schemas: EdgeCloudProvider: type: string description: Human readable name of the Edge Cloud Provider. KubernetesResources: description: Definition of Kubernetes Cluster Infrastructure. required: - infraKind - applicationResources - isStandalone properties: infraKind: description: Type of infrastructure for the application. type: string example: kubernetes enum: - kubernetes applicationResources: description: 'Application resources define the resources pool required by the application to be executed in a Kubernetes clusters. ' type: object properties: cpuPool: required: - numCPU - memory - topology type: object description: 'CPU Pool refers to the amount of application'' resources that is executed in nodes with CPU only. That means the part of application that doesn''t require GPU or other kind of acceleration. CPU pool is not mandatory when the application is executed exclusively in a GPU pool. A CPU pool is composed by CPU and memory. ' properties: numCPU: description: 'Total number of vcpus in whole (i.e 1) of CPU pool. ' type: integer example: 1 memory: description: Total memory in mega bytes of CPU pool. type: integer example: 1024 topology: type: object description: 'CPU pool topology defines an application''s CPU-based architecture. When deploying for high availability or redundancy, it allows for clustering with a configurable number of nodes and minimum CPU/memory resource per Kubernetes node requirements. ' required: - minNumberOfNodes - minNodeCpu - minNodeMemory properties: minNumberOfNodes: description: 'Minimum number of worker nodes required by the application. ' type: integer example: 5 minNodeCpu: description: 'Minimum number of vcpus in whole (i.e 1) per cluster node in CPU pool. ' type: integer example: 2 minNodeMemory: description: 'Minimum memory in mega bytes per cluster node in CPU pool. ' type: integer example: 1024 gpuPool: required: - numCPU - memory - gpuMemory - topology type: object description: 'GPU Pool refers to the amount of resources of the application that is executed in nodes with GPU. GPU Pool is not mandatory when the application is executed exclusively in a CPU pool. A GPU pool is composed by memory, CPU and GPU memory ' properties: numCPU: description: 'Total Number of vcpus in whole (i.e 1) of GPU pool. ' type: integer example: 1 memory: description: Total memory in mega bytes of GPU pool. type: integer example: 1024 gpuMemory: description: Total GPU memory in giga bytes of GPU pool. type: integer example: 16 topology: type: object description: 'GPU pool topology defines an application''s GPU-based architecture. When deploying for high availability or redundancy, it allows for clustering with a configurable number of nodes and minimum CPU/memory/GPU memory resource per Kubernetes node requirements. ' required: - minNumberOfNodes - minNodeCpu - minNodeMemory - minNodeGpuMemory properties: minNumberOfNodes: description: 'Minimum number of worker nodes with GPU required by the application. ' type: integer example: 2 minNodeCpu: description: 'Minimum number of vcpus in whole (i.e 1) per cluster node in GPU pool. ' type: integer example: 2 minNodeMemory: description: 'Minimum memory in mega bytes per cluster node in GPU pool. ' type: integer example: 1024 minNodeGpuMemory: description: Minimum memory in giga bytes per cluster node in GPU pool. type: integer example: 8 isStandalone: description: 'Define if the Kubernetes clusters can be reused by other applications. ' type: boolean example: false version: type: string description: Minimum Kubernetes Version. example: '1.29' additionalStorage: type: string description: 'Amount of persistent storage allocated to the Kubernetes PVC. ' example: 80GB pattern: ^\d+(GB|MB)$ networking: $ref: '#/components/schemas/K8sNetworking' addons: $ref: '#/components/schemas/K8sAddons' ErrorInfo: type: object description: Information about the error properties: status: type: integer description: HTTP status code returned along with this error response code: type: string description: Code given to this error message: type: string description: Detailed error description required: - status - code - message SubmittedApp: description: Information about the submitted app type: object properties: appId: $ref: '#/components/schemas/AppId' EdgeCloudZoneName: type: string description: 'Human readable name of the geographical zone of the Edge Cloud. Defined by the Edge Cloud Provider. ' VmResources: description: Definition of Virtual Machine Infrastructure type: object required: - infraKind - numCPU - memory properties: infraKind: description: Type of infrastructure for the application. type: string example: virtualMachine enum: - virtualMachine numCPU: type: integer description: 'Number of vcpus in whole (i.e 1) ' example: 1 memory: type: integer example: 1024 description: Memory in mega bytes additionalStorages: $ref: '#/components/schemas/AdditionalStorage' gpu: $ref: '#/components/schemas/GpuInfo' Fqdn: type: string description: 'Full qualified domain name of an application instance ' RequiredResources: description: 'Fundamental hardware requirements to be provisioned by the Application Provider. ' oneOf: - $ref: '#/components/schemas/KubernetesResources' - $ref: '#/components/schemas/VmResources' - $ref: '#/components/schemas/ContainerResources' - $ref: '#/components/schemas/DockerComposeResources' discriminator: propertyName: infraKind mapping: kubernetes: '#/components/schemas/KubernetesResources' virtualMachine: '#/components/schemas/VmResources' container: '#/components/schemas/ContainerResources' dockerCompose: '#/components/schemas/DockerComposeResources' Uri: type: string example: https://charts.bitnami.com/bitnami/helm/example-chart:0.1.0 description: 'A Uniform Resource Identifier (URI) as per RFC 3986, identifies the endpoint within an Edge Cloud Zone where the user equipment may connect to the selected application instance ' K8sAddons: description: 'Addons for the Kubernetes cluster. Additional addons should be defined in application the helm chart (Service Mesh, Serverless, AI). ' type: object properties: monitoring: type: boolean example: true default: false description: Enable monitoring for Kubernetes cluster. ingress: type: boolean example: true default: false description: Enable ingress for Kubernetes cluster. Ipv6Addr: type: string format: ipv6 example: 2001:db8:85a3:8d3:1319:8a2e:370:7344 description: 'IP of the device. A single IPv6 address, following IETF 5952 format, may be specified like 2001:db8:85a3:8d3:1319:8a2e:370:7344 ' ContainerResources: description: Container Infrastructure Definition type: object required: - infraKind - numCPU - memory properties: infraKind: description: Type of infrastructure for the application. type: string example: container enum: - container numCPU: $ref: '#/components/schemas/Vcpu' memory: type: integer example: 1024 description: Memory in mega bytes storage: $ref: '#/components/schemas/AdditionalStorage' gpu: $ref: '#/components/schemas/GpuInfo' AdditionalStorage: description: Additional storage for the application. type: array items: type: object required: - storageSize - mountPoint properties: name: type: string description: Name of additional storage resource. example: logs storageSize: type: string description: Additional persistent volume for the application. example: 80GB pattern: ^\d+(GB|MB)$ mountPoint: type: string description: Location of additional storage resource. example: /logs K8sNetworking: description: 'Kubernetes networking definition ' type: object properties: primaryNetwork: description: Definition of Kubernetes primary Network type: object properties: provider: description: CNI provider name type: string example: cilium version: description: CNI provider version type: string example: '1.13' additionalNetworks: description: Additional Networks for the Kubernetes cluster. type: array items: type: object description: Additional network interface definition properties: name: description: Additional Network Name type: string example: net1 interfaceType: description: "Type of additional Interface:\nnetdevice: (SR-IOV) A regular kernel network device in the\n Network Namespace (netns) of the container\nvfio-pci: (SR-IOV) A PCI network interface directly mounted\n in the container\ninterface: Additional interface to be used by cni plugins\n such as macvlan, ipvlan\nNote: The use of SR-IOV interfaces automatically\nconfigure the required kernel parameters for the nodes.\n" type: string example: vfio-pci enum: - netdevice - vfio-pci - interface AccessEndpoint: type: object description: 'Application Endpoint for an especific instance that is running in an specific Edge Cloud Zone. ' required: - port anyOf: - required: - fqdn - required: - ipv4Addresses - required: - ipv6Addresses properties: port: $ref: '#/components/schemas/Port' fqdn: $ref: '#/components/schemas/Fqdn' ipv4Addresses: description: IP version 4 of an application instance type: array items: $ref: '#/components/schemas/Ipv4Addr' minItems: 1 ipv6Addresses: description: IP version 6 of an application instance. type: array items: $ref: '#/components/schemas/Ipv6Addr' minItems: 1 AppInstanceInfo: description: Information about the application instance. type: object properties: appInstanceId: $ref: '#/components/schemas/AppInstanceId' status: description: Status of the application instance (default is 'unknown') type: string enum: - ready - instantiating - failed - terminating - unknown default: unknown componentEndpointInfo: description: 'Information about the IP and Port exposed by the Edge Cloud Platform. Application Client shall use these access points to reach this application instance ' type: array items: type: object required: - interfaceId - accessPoints properties: interfaceId: type: string pattern: ^[A-Za-z0-9][A-Za-z0-9_]{6,30}[A-Za-z0-9]$ description: 'This is the interface Identifier that Application Provider defines when application is being submitted. ' accessPoints: $ref: '#/components/schemas/AccessEndpoint' minItems: 1 kubernetesClusterRef: $ref: '#/components/schemas/KubernetesClusterRef' edgeCloudZone: $ref: '#/components/schemas/EdgeCloudZone' AppManifest: description: 'Application information and requirements provided by the Application Provider ' properties: appId: $ref: '#/components/schemas/AppId' name: type: string pattern: ^[A-Za-z][A-Za-z0-9_]{1,63}$ description: Name of the application. appProvider: $ref: '#/components/schemas/AppProvider' version: type: string description: Application version information packageType: description: Format of the application image package type: string enum: - QCOW2 - OVA - CONTAINER - HELM operatingSystem: $ref: '#/components/schemas/OperatingSystem' appRepo: description: 'Repository where Application Provider stores the application image ' type: object required: - type - imagePath properties: type: type: string enum: - PRIVATEREPO - PUBLICREPO description: 'Application repository and image URI information. PUBLICREPO is used of public urls like github, helm repo etc. PRIVATEREPO is used for private repo managed by the application developer. Private repo can be accessed by using the app developer provided userName and password. Password is recommended to be the personal access token created by developer e.g. in Github repo. ' imagePath: $ref: '#/components/schemas/Uri' userName: type: string description: 'Username to acces the Helm chart, docker-compose file or VM image repository ' credentials: type: string maxLength: 128 description: 'Password or personal access token created by developer to acces the app repository. API users can generate a personal access token e.g. docker clients to use them as password. ' authType: type: string enum: - DOCKER - HTTP_BASIC - HTTP_BEARER - NONE description: 'The credentials can also be formatted as a Basic auth or Bearer auth in HTTP "Authorization" header. ' checksum: type: string description: 'MD5 checksum for VM and file-based images, sha256 digest for containers ' requiredResources: $ref: '#/components/schemas/RequiredResources' componentSpec: description: 'Information defined in "appRepo" point to the application descriptor e.g. Helm chart, docker-compose yaml file etc. The descriptor may contain one or more containers and their associated meta-data. A component refers to additional details about these containers to expose the instances of the containers to external client applications. App provider can define one or more components (via the associated network port) in componentSpec corresponding to the containers in helm charts or docker-compose yaml file as part of app descriptors. ' type: array items: type: object required: - componentName - networkInterfaces properties: componentName: type: string description: Component name must be unique with an application networkInterfaces: description: 'Each application component exposes some ports either for external users or for inter component communication. Application provider is required to specify which ports are to be exposed and the type of traffic that will flow through these ports.The underlying platform may assign a dynamic port against the "extPort" that the application clients will use to connect with edge application instance. ' type: array items: type: object required: - interfaceId - protocol - port - visibilityType properties: interfaceId: type: string pattern: ^[A-Za-z][A-Za-z0-9_]{3,31}$ description: 'Each Port and corresponding traffic protocol exposed by the component is identified by a name. Application client on user device requires this to uniquley idenify the interface. ' protocol: type: string enum: - TCP - UDP - ANY description: 'Defines the IP transport communication protocol i.e., TCP, UDP or ANY ' port: type: integer format: int32 minimum: 1 maximum: 65535 description: 'Port number exposed by the component. Edge Cloud Provider may generate a dynamic port towards the component instance which forwards external traffic to the component port. ' visibilityType: description: 'Defines whether the interface is exposed to outer world or not i.e., external, or internal. If this is set to "external", then it is exposed to external applications otherwise it is exposed internally to edge application components within edge cloud. When exposed to external world, an external dynamic port is assigned for UC traffic and mapped to the extPort ' type: string enum: - VISIBILITY_EXTERNAL - VISIBILITY_INTERNAL minItems: 1 required: - name - version - appProvider - packageType - appRepo - requiredResources - componentSpec EdgeCloudZoneStatus: description: Status of the Edge Cloud Zone (default is 'unknown') type: string enum: - active - inactive - unknown default: unknown Port: type: integer description: Port to stablish the connection minimum: 0 AppInstanceId: type: string format: uuid description: 'A globally unique identifier associated with a running instance of an application. Edge Cloud Platform generates this identifier when the instantiation in the Edge Cloud Zone is successful. ' GpuInfo: type: object description: Information about the supported GPUs required: - gpuMemory - numGPU properties: gpuMemory: type: integer description: GPU memory in mega bytes numGPU: type: integer description: Number of GPUs AppProvider: type: string pattern: ^[A-Za-z][A-Za-z0-9_]{7,63}$ description: Human readable name of the Application Provider. KubernetesClusterRef: description: 'A global unique identifier associated with a Kubernetes cluster infrastructure. ' type: string format: uuid example: 642f6105-7015-4af1-a4d1-e1ecb8437abc EdgeCloudZoneId: type: string format: uuid description: 'Unique identifier created by the Edge Cloud Platform to identify an Edge Cloud Zone within an Edge Cloud. ' DockerComposeResources: description: Definition of Docker Compose Infrastructure type: object required: - infraKind - numCPU - memory properties: infraKind: description: Type of infrastructure for the application. type: string example: dockerCompose enum: - dockerCompose numCPU: type: integer description: 'Number of vcpus in whole (i.e 1) ' example: 1 memory: type: integer example: 1024 description: Memory in mega bytes storage: $ref: '#/components/schemas/AdditionalStorage' gpu: $ref: '#/components/schemas/GpuInfo' AppId: type: string format: uuid description: 'A globally unique identifier associated with the application. Edge Cloud Platform generates this identifier when the Application is submitted. ' EdgeCloudRegion: type: string description: 'Human readable name of the geographical Edge Cloud Region of the Edge Cloud. Defined by the Edge Cloud Provider. ' Ipv4Addr: type: string format: ipv4 example: 192.168.0.1 description: 'IP of the device. A single IPv4 address may be specified in dotted-quad form 1.2.3.4. Only this exact IP number will match the flow control rule. ' EdgeCloudZone: type: object description: 'An Edge Cloud Zone, uniquely identified by a combination of the value of the Edge Cloud Zone Id object and the value of the Edge Cloud Provider object. This value is used to identify an Edge Cloud zone between Edge Clouds from different Edge Cloud Providers. ' required: - edgeCloudZoneId - edgeCloudZoneName - edgeCloudProvider properties: edgeCloudZoneId: $ref: '#/components/schemas/EdgeCloudZoneId' edgeCloudZoneName: $ref: '#/components/schemas/EdgeCloudZoneName' edgeCloudZoneStatus: $ref: '#/components/schemas/EdgeCloudZoneStatus' edgeCloudProvider: $ref: '#/components/schemas/EdgeCloudProvider' edgeCloudRegion: $ref: '#/components/schemas/EdgeCloudRegion' minItems: 1 AppZones: description: 'Collection of Edge Cloud Zones and/or Kubernetes cluster reference where the Application Provider wants to instantiate the application. ' type: array items: type: object properties: kubernetesClusterRef: $ref: '#/components/schemas/KubernetesClusterRef' EdgeCloudZone: $ref: '#/components/schemas/EdgeCloudZone' required: - EdgeCloudZone minItems: 1 additionalProperties: false Vcpu: type: string pattern: ^\d+((\.\d{1,3})|(m))?$ description: 'Number of vcpus in whole (i.e 1), decimal (i.e 0.500) up to millivcpu, or millivcpu (i.e 500m) format. ' example: 500m OperatingSystem: description: 'Information about the Operating System of the application image ' type: object required: - architecture - family - version - license properties: architecture: description: Type of the OS Architecture type: string enum: - x86_64 - x86 example: x86_64 family: description: Family to which OS belongs type: string enum: - RHEL - UBUNTU - COREOS - WINDOWS - OTHER version: description: Version of the OS type: string enum: - OS_VERSION_UBUNTU_2204_LTS - OS_VERSION_RHEL_8 - OS_MS_WINDOWS_2022 - OTHER license: description: License needed to activate the OS type: string enum: - OS_LICENSE_TYPE_FREE - OS_LICENSE_TYPE_ON_DEMAND - OTHER ApiPermissionSet: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: The PermissionSet is a set of Permissions granted to a user (party, party role or resource). The set may be granted explicitly by an authorized user or may be acquired implicitly due to the role that the user is playing. properties: creationDate: type: string format: date-time description: Date when the PermissionSet was created and assigned to a user description: type: string description: Text describing the permission set validFor: $ref: '#/components/schemas/TimePeriod' permission: $ref: '#/components/schemas/ApiConsumerPermission' discriminator: propertyName: '@type' mapping: ApiPermissionSet: '#/components/schemas/ApiPermissionSet' ContactMedium: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: 'Indicates the contact medium that could be used to contact the party. This is an abstract base class, the actual value is in one of the strongly-typed subclasses : EmailContactMedium, FaxContactMedium, PhoneContactMedium, GeographicAddressContactMedium, SocialMediaContactMedium...' properties: id: type: string description: Identifier for this contact medium. preferred: type: boolean description: If true, indicates that is the preferred contact medium contactType: type: string description: Type of the contact medium to qualify it like pro email / personal email. This is not used to define the contact medium used. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: ContactMedium: '#/components/schemas/ContactMedium' EmailContactMedium: '#/components/schemas/EmailContactMedium' FaxContactMedium: '#/components/schemas/FaxContactMedium' GeographicAddressContactMedium: '#/components/schemas/GeographicAddressContactMedium' PhoneContactMedium: '#/components/schemas/PhoneContactMedium' SocialContactMedium: '#/components/schemas/SocialContactMedium' WebFormContactMedium: '#/components/schemas/WebFormContactMedium' Extensible: type: object description: Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type properties: '@type': type: string description: When sub-classing, this defines the sub-class Extensible name '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships required: - '@type' ApiDigitalIdentity_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: ApiDigitalIdentity is a class that allow to describe a digital identity for an individual or a resource or a specific party role. One of these three MUST be provided. If an individual is provided, this identity will be for all her/his partyRole. To avoid confusion it is recommended in this case to not provide partyRoleIdentified. DEPRECATED in the POST and PATCH, this attribute can't be valued by the API consumer in this context. properties: clientId: type: string description: 'OAuth2 Client ID: A public identifier for apps. Even though it is public, it is best that it is not guessable by third parties, so many implementations use something like a 32-character hex string. DEPRECATED in the POST and the PATCH, this attribute can''t be valued by the API consumer in this context.' redirectUrl: type: array deprecated: true items: type: string description: 'DEPRECATED : moved to Application schema. After a user successfully authorizes an application, the authorization server will redirect the user back to the application.' jwksUri: deprecated: true type: string description: 'DEPRECATED : moved to Application schema. JSON Web Key (JWK) is a data structure that represents a cryptographic key' discriminator: propertyName: '@type' mapping: ApiDigitalIdentity: '#/components/schemas/ApiDigitalIdentity_MVO' ContactMedium_FVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: 'Indicates the contact medium that could be used to contact the party. This is an abstract base class, the actual value is in one of the strongly-typed subclasses : EmailContactMedium, FaxContactMedium, PhoneContactMedium, GeographicAddressContactMedium, SocialMediaContactMedium...' properties: id: type: string description: Identifier for this contact medium. preferred: type: boolean description: If true, indicates that is the preferred contact medium contactType: type: string description: Type of the contact medium to qualify it like pro email / personal email. This is not used to define the contact medium used. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: ContactMedium: '#/components/schemas/ContactMedium_FVO' EmailContactMedium: '#/components/schemas/EmailContactMedium' FaxContactMedium: '#/components/schemas/FaxContactMedium' GeographicAddressContactMedium: '#/components/schemas/GeographicAddressContactMedium' PhoneContactMedium: '#/components/schemas/PhoneContactMedium' SocialContactMedium: '#/components/schemas/SocialContactMedium' WebFormContactMedium: '#/components/schemas/WebFormContactMedium_FVO' Application_MVO: allOf: - $ref: '#/components/schemas/LogicalResource_MVO' - type: object description: Application is a logical resource that can consume API products. It's a specialization of a LogicalResource in the Open Gateway context. properties: commercialName: type: string description: Exact name of the Application as marketed (and known by the end-user). logoUrl: type: string description: Url to retrieve the Application official logo. privacyPolicyURL: type: string description: Url to Application privacy policy, if applicable. redirectUrl: type: array items: type: string description: After a user successfully authorizes an application, the authorization server will redirect the user back to the application. jwksUri: type: string description: 'Uri pointing to a JSON Web Key (JWK) : data structure that represents a cryptographic key' category: $ref: '#/components/schemas/ApplicationCategoryType' approvalStatusReason: type: string description: The reason why the approval state changed. DEPRECATED in the PATCH (bug to be fixed on next major version). privacyRightsRequestContact: type: array items: $ref: '#/components/schemas/ContactMedium' description: Contact information for the exercise of data protection rights to which the End Users can address. Must be only EmailContactMedium or WebFormContactMedium for this context. digitalIdentity: $ref: '#/components/schemas/ApiDigitalIdentity_MVO' ResourceOperationalStateType: enum: - enable - disable type: string description: 'ResourceOperationalStateType enumerations; values defined by ITU X.731: ''disable'': The resource is totally inoperable and unable to provide service to the user(s); ''enable'': The resource is partially or fully operable and available for use.' PartyRoleRef: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Party role reference. A party role represents the part played by a party in a given context. properties: partyId: type: string description: The identifier of the engaged party that is linked to the PartyRole object. partyName: type: string description: The name of the engaged party that is linked to the PartyRole object. discriminator: propertyName: '@type' mapping: PartyRoleRef: '#/components/schemas/PartyRoleRef' EntityRef: allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/Addressable' - type: object description: Entity reference schema to be use for all entityRef class. properties: id: type: string description: The identifier of the referred entity. href: type: string description: The URI of the referred entity. name: type: string description: Name of the referred entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id JsonPatch: type: object description: A JSONPatch document as defined by RFC 6902 required: - op - path properties: op: type: string description: The operation to be performed enum: - add - remove - replace - move - copy - test path: type: string description: A JSON-Pointer value: description: The value to be used within the operations. from: type: string description: A string containing a JSON Pointer value. Application_FVO: allOf: - $ref: '#/components/schemas/LogicalResource_FVO' - type: object description: Application is a logical resource that can consume API products. It's a specialization of a LogicalResource in the Open Gateway context. properties: commercialName: type: string description: Exact name of the Application as marketed (and known by the end-user). logoUrl: type: string description: Url to retrieve the Application official logo. privacyPolicyURL: type: string description: Url to Application privacy policy, if applicable. redirectUrl: type: array items: type: string description: After a user successfully authorizes an application, the authorization server will redirect the user back to the application. jwksUri: type: string description: 'Uri pointing to a JSON Web Key (JWK) : data structure that represents a cryptographic key' category: $ref: '#/components/schemas/ApplicationCategoryType' applicationOwner: $ref: '#/components/schemas/PartyRoleRef' privacyRightsRequestContact: type: array items: $ref: '#/components/schemas/ContactMedium_FVO' description: Contact information for the exercise of data protection rights to which the End Users can address. Must be only EmailContactMedium or WebFormContactMedium for this context. digitalIdentity: $ref: '#/components/schemas/ApiDigitalIdentity_FVO' required: - commercialName - applicationOwner - description Entity: type: object description: Base entity schema for use in TMForum Open-APIs. Property. allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/Addressable' ApiDigitalIdentity: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: ApiDigitalIdentity is a class that allow to describe a digital identity for an individual or a resource or a specific party role. One of these three MUST be provided. If an individual is provided, this identity will be for all her/his partyRole. To avoid confusion it is recommended in this case to not provide partyRoleIdentified. DEPRECATED in the POST and PATCH, this attribute can't be valued by the API consumer in this context. properties: clientId: type: string description: 'OAuth2 Client ID: A public identifier for apps. Even though it is public, it is best that it is not guessable by third parties, so many implementations use something like a 32-character hex string. DEPRECATED in the POST and the PATCH, this attribute can''t be valued by the API consumer in this context.' redirectUrl: type: array deprecated: true items: type: string description: 'DEPRECATED : moved to Application schema. After a user successfully authorizes an application, the authorization server will redirect the user back to the application.' jwksUri: deprecated: true type: string description: 'DEPRECATED : moved to Application schema. JSON Web Key (JWK) is a data structure that represents a cryptographic key' validFor: $ref: '#/components/schemas/TimePeriod' status: type: string description: Used to indicate the current lifecycle status of this digital identity (unknown, active, suspended, archived). credential: type: array description: A list of credential/authentification method that are used for this digital identity. items: $ref: '#/components/schemas/OAuth2ClientCredential' discriminator: propertyName: '@type' mapping: ApiDigitalIdentity: '#/components/schemas/ApiDigitalIdentity' AssetGroup: type: object description: Defines a group of assets (entities) to which access can be controlled. Specific subclasses allow definition in various ways (list of entities, queries, ownership by customer, etc.). AssetGroup is not a managed entity, its concrete subclasses are always included by value in their containing entities. allOf: - $ref: '#/components/schemas/Extensible' discriminator: propertyName: '@type' mapping: ApiListAssetGroup: '#/components/schemas/ApiListAssetGroup' AssetGroup: '#/components/schemas/AssetGroup' Application: allOf: - $ref: '#/components/schemas/LogicalResource' - type: object description: Application is a logical resource that can consume API products. It's a specialization of a LogicalResource in the Open Gateway context. properties: commercialName: type: string description: Exact name of the Application as marketed (and known by the end-user). logoUrl: type: string description: Url to retrieve the Application official logo. privacyPolicyURL: type: string description: Url to Application privacy policy, if applicable. redirectUrl: type: array items: type: string description: After a user successfully authorizes an application, the authorization server will redirect the user back to the application. jwksUri: type: string description: 'Uri pointing to a JSON Web Key (JWK) : data structure that represents a cryptographic key' category: $ref: '#/components/schemas/ApplicationCategoryType' approvalStatus: $ref: '#/components/schemas/ApprovalStatusType' approvalStatusReason: type: string description: The reason why the approval state changed. DEPRECATED in the PATCH (bug to be fixed on next major version). applicationOwner: $ref: '#/components/schemas/PartyRoleRef' privacyRightsRequestContact: type: array items: $ref: '#/components/schemas/ContactMedium' description: Contact information for the exercise of data protection rights to which the End Users can address. Must be only EmailContactMedium or WebFormContactMedium for this context. channelPartner: $ref: '#/components/schemas/PartyRoleRef' digitalIdentity: $ref: '#/components/schemas/ApiDigitalIdentity' apiConsumerRole: type: array items: $ref: '#/components/schemas/LogicalResourceRole' description: Each GSMA Service-API plays a role, and has specific permissions for use creationDate: type: string format: date-time description: Date and time when the Application was created Error: discriminator: propertyName: '@type' mapping: Error: '#/components/schemas/Error' allOf: - $ref: '#/components/schemas/Extensible' - type: object required: - code - reason properties: code: type: string description: Application relevant detail, defined in the API or a common list. reason: type: string description: Explanation of the reason for the error which can be shown to a client user. message: type: string description: More details and corrective actions related to the error which can be shown to a client user. status: type: string description: HTTP Error code extension referenceError: type: string description: URI of documentation describing the error. description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) ExternalIdentifier: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier' ApiConsumerPermission: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An ApiConsumerPermission allows an Application to consume an API. properties: managedAssetGroup: $ref: '#/components/schemas/ApiListAssetGroup' discriminator: propertyName: '@type' mapping: ApiConsumerPermission: '#/components/schemas/ApiConsumerPermission' OAuth2ClientCredential: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: OAuth2ClientCredential describes the registration attributes in an OAuth registration process properties: clientSecret: type: string description: Secret that permits the Application to authenticate with OAuth2 method. state: type: string description: Used to indicate the current lifecycle state of this credential (like active, inactive, expired). validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: OAuth2ClientCredential: '#/components/schemas/OAuth2ClientCredential' LogicalResource: allOf: - $ref: '#/components/schemas/Entity' - type: object description: Logic resource is a type of resource that describes the common set of attributes shared by all concrete logical resources (e.g. TPE, MSISDN, IP Addresses) in the inventory. properties: description: type: string description: free-text description of the resource name: type: string description: the name of the resource operationalState: $ref: '#/components/schemas/ResourceOperationalStateType' resourceVersion: type: string description: A field that identifies the specific version of an instance of a resource. externalIdentifier: type: array description: An identification of this resource that is owned by or originates in a software system different from the current system. The structure identifies the system itself, the nature of the resource within the system and the unique ID of the resource within the system. It is anticipated that multiple external IDs can be held for a single resource, e.g. if the resource passed through multiple systems on the way to the current system. items: $ref: '#/components/schemas/ExternalIdentifier' discriminator: propertyName: '@type' mapping: Application: '#/components/schemas/Application' LogicalResource: '#/components/schemas/LogicalResource' JsonPatchOperations: description: JSONPatch Operations document as defined by RFC 6902 type: array items: $ref: '#/components/schemas/JsonPatch' ExternalIdentifier_FVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. required: - id discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier_FVO' ApiListAssetGroup: allOf: - $ref: '#/components/schemas/AssetGroup' - type: object description: Defines a group of API assets to which access can be controlled properties: apiProduct: type: array items: $ref: '#/components/schemas/ProductRef' description: The list of products for which permissions are given. Addressable: type: object description: Base schema for addressable entities properties: href: type: string description: Hyperlink reference id: type: string description: unique identifier ApplicationCategoryType: enum: - agriculture - artAndDesign - autoAndVehicle - beauty - booksAndReference - business - construction - defense - developerTools - education - engineering - eventsAndEntertainment - finance - foodAndDrink - games - healthAndFitness - healthcare - information - kids - librariesAndDemo - lifestyle - manufacturing - mapsAndNavigation - media - medical - mining - musicAndAudio - newsAndMagazines - organizations - other - photoAndVideo - productivity - publicService - realEstate - shopping - socialNetworkingAndCommunications - sports - tourism - utilities - trading - transportation - travelAndLocal - water - weather type: string description: Valid values for the category of the Application. Please refer to main Application stores in order to retrieve a more precise definition of the categories. TimePeriod: type: object description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both properties: startDateTime: description: Start of the time period, using IETC-RFC-3339 format type: string format: date-time example: '1985-04-12T23:20:50.52Z' endDateTime: description: End of the time period, using IETC-RFC-3339 format type: string format: date-time example: '1985-04-12T23:20:50.52Z' ProductRef: type: object description: A Product reference allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: ProductRef: '#/components/schemas/ProductRef' ApprovalStatusType: enum: - pendingApproval - approved - rejected type: string description: Valid values for an ApprovalStatus in the context of an approval process. LogicalResource_MVO: allOf: - $ref: '#/components/schemas/Entity' - type: object description: Logic resource is a type of resource that describes the common set of attributes shared by all concrete logical resources (e.g. TPE, MSISDN, IP Addresses) in the inventory. properties: description: type: string description: free-text description of the resource name: type: string description: the name of the resource operationalState: $ref: '#/components/schemas/ResourceOperationalStateType' resourceVersion: type: string description: A field that identifies the specific version of an instance of a resource. externalIdentifier: type: array description: An identification of this resource that is owned by or originates in a software system different from the current system. The structure identifies the system itself, the nature of the resource within the system and the unique ID of the resource within the system. It is anticipated that multiple external IDs can be held for a single resource, e.g. if the resource passed through multiple systems on the way to the current system. items: $ref: '#/components/schemas/ExternalIdentifier' discriminator: propertyName: '@type' mapping: Application: '#/components/schemas/Application_MVO' LogicalResource: '#/components/schemas/LogicalResource_MVO' LogicalResource_FVO: allOf: - $ref: '#/components/schemas/Entity' - type: object description: Logic resource is a type of resource that describes the common set of attributes shared by all concrete logical resources (e.g. TPE, MSISDN, IP Addresses) in the inventory. properties: description: type: string description: free-text description of the resource name: type: string description: the name of the resource resourceVersion: type: string description: A field that identifies the specific version of an instance of a resource. externalIdentifier: type: array description: An identification of this resource that is owned by or originates in a software system different from the current system. The structure identifies the system itself, the nature of the resource within the system and the unique ID of the resource within the system. It is anticipated that multiple external IDs can be held for a single resource, e.g. if the resource passed through multiple systems on the way to the current system. items: $ref: '#/components/schemas/ExternalIdentifier_FVO' required: - name discriminator: propertyName: '@type' mapping: Application: '#/components/schemas/Application_FVO' LogicalResource: '#/components/schemas/LogicalResource_FVO' ApiDigitalIdentity_FVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: ApiDigitalIdentity is a class that allow to describe a digital identity for an individual or a resource or a specific party role. One of these three MUST be provided. If an individual is provided, this identity will be for all her/his partyRole. To avoid confusion it is recommended in this case to not provide partyRoleIdentified. DEPRECATED in the POST and PATCH, this attribute can't be valued by the API consumer in this context. properties: clientId: type: string description: 'OAuth2 Client ID: A public identifier for apps. Even though it is public, it is best that it is not guessable by third parties, so many implementations use something like a 32-character hex string. DEPRECATED in the POST and the PATCH, this attribute can''t be valued by the API consumer in this context.' redirectUrl: type: array deprecated: true items: type: string description: 'DEPRECATED : moved to Application schema. After a user successfully authorizes an application, the authorization server will redirect the user back to the application.' jwksUri: deprecated: true type: string description: 'DEPRECATED : moved to Application schema. JSON Web Key (JWK) is a data structure that represents a cryptographic key' discriminator: propertyName: '@type' mapping: ApiDigitalIdentity: '#/components/schemas/ApiDigitalIdentity_FVO' Application_RES: type: object description: Response object for Application allOf: - $ref: '#/components/schemas/Application' required: - id - href LogicalResourceRole: type: object description: A logical Resource Role is a role given to a logical resource in a given context. properties: grantedPermissionSet: description: The PermissionSet is a set of Permissions granted to a user (party, party role, resource or resource role). The set may be granted explicitly by an authorized user or may be acquired implicitly due to the role that the user is playing. type: array items: $ref: '#/components/schemas/ApiPermissionSet' responses: '404': description: Not Found headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 404 code: NOT_FOUND message: Resource does not exist '501': description: Not Implemented headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 501 code: NOT_IMPLEMENTED message: Service not implemented '403': description: Unauthorized headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 403 code: PERMISSION_DENIED message: 'Operation not allowed: ...' '400': description: Bad request headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 400 code: INVALID_ARGUMENT message: Schema validation failed at ... '503': description: Service Unavailable headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 503 code: UNAVAILABLE message: Service unavailable '500': description: Internal Server Error headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 500 code: INTERNAL message: 'Internal server error: ...' '401': description: Unauthorized headers: x-correlator: $ref: '#/components/headers/x-correlator' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 401 code: UNAUTHENTICATED message: 'Authorization failed: ...' '404_2': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: basic: summary: Not Found Error value: '@type': Error code: ERR404 reason: Not Found message: The requested URL was not found on the server. referenceError: https://host/errors '501_2': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' examples: basic: summary: Not Implemented Error value: '@type': Error code: ERR501 reason: The requested operation is not implemented message: The requested operation is not implemented. Please contact the system administrator. referenceError: https://host/errors '403_2': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' examples: basic: summary: Forbidden Error value: '@type': Error code: ERR403 reason: Forbidden message: You don't have the permission to access the requested resource. It is either read-protected or not readable by the server. referenceError: https://host/errors 200ApplicationArray: description: Success headers: X-Total-Count: $ref: '#/components/headers/X-Total-Count' X-Result-Count: $ref: '#/components/headers/X-Result-Count' content: application/json: schema: type: array items: $ref: '#/components/schemas/Application_RES' examples: Retrieve_a_list_of_Application: $ref: '#/components/examples/Retrieve_a_list_of_Application_response' Retrieve_a_list_of_Application_with_field_selection_and_filter: $ref: '#/components/examples/Retrieve_a_list_of_Application_with_field_selection_and_filter_response' '400_2': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: basic: summary: Bad Request Error value: '@type': Error code: ERR400 reason: Bad Request message: The server could not understand the request due to invalid syntax. Please correct the syntax and try again. referenceError: https://host/errors 200Application_Get: description: Success content: application/json: schema: $ref: '#/components/schemas/Application_RES' examples: Retrieve_an_Application_from_its_identifier: $ref: '#/components/examples/Retrieve_an_Application_from_its_identifier_response' Retrieve_an_Application_with_permissions_from_its_identifier: $ref: '#/components/examples/Retrieve_an_Application_with_permissions_from_its_identifier_response' Retrieve_an_Application_without_digital_identity_from_its_identifier: $ref: '#/components/examples/Retrieve_an_Application_without_digital_identity_from_its_identifier_response' '405': description: Method Not allowed content: application/json: schema: $ref: '#/components/schemas/Error' examples: basic: summary: Method Not allowed Error value: '@type': Error code: ERR405 reason: Method Not allowed message: The method is not allowed for the requested URL. referenceError: https://host/errors '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' examples: basic: summary: Conflict Error value: '@type': Error code: ERR409 reason: Conflict message: The request could not be completed due to a conflict with the current state of the target resource. referenceError: https://host/errors 200Application_Patch: description: Success content: application/json: schema: $ref: '#/components/schemas/Application_RES' examples: Update_an_Application_with_json_content_type: $ref: '#/components/examples/Update_an_Application_with_json_content_type_response' Update_an_Application_with_merge-patch_json_content_type: $ref: '#/components/examples/Update_an_Application_with_merge-patch_json_content_type_response' Update_an_Application_with_json-patch_json_content_type: $ref: '#/components/examples/Update_an_Application_with_json-patch_json_content_type_response' Update_an_Application_with_json-patch-query_json_content_type: $ref: '#/components/examples/Update_an_Application_with_json-patch-query_json_content_type_response' '503_2': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/Error' examples: basic: summary: Service Unavailable Error value: '@type': Error code: ERR503 reason: Service Unavailable message: The service is currently unavailable. Please try again later. referenceError: https://host/errors 201Application: description: Created content: application/json: schema: $ref: '#/components/schemas/Application_RES' examples: Create_an_Application: $ref: '#/components/examples/Create_an_Application_response' '500_2': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: basic: summary: Internal Server Error example value: '@type': Error code: ERR500 reason: Internal Server Error message: The server encountered an internal error. Please contact the system administrator. referenceError: https://host/errors '401_2': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' examples: basic: summary: Unauthorized Error value: '@type': Error code: ERR401 reason: Unauthorized message: You are not authorized to access the requested resource. Please provide the correct credentials. referenceError: https://host/errors headers: x-correlator: description: 'Correlation id for the different services ' required: false schema: type: string format: uuid X-Total-Count: description: Total number of items matching criteria schema: type: integer X-Result-Count: description: Actual number of items returned in the response body schema: type: integer parameters: x-correlator: name: x-correlator in: header description: 'Correlation id for the different services ' schema: type: string Filter: name: filter in: query description: Filter a collection using JSONPath schema: type: string example: attachment[?(@size==300)] Limit: name: limit in: query description: Requested number of resources to be provided in response schema: type: integer Sort: name: sort in: query description: The default direction is Ascending order, the use of the modifier in front of the sort field name, “-“, changes the sort order direction. schema: type: string Fields: name: fields in: query description: Comma-separated properties to be provided in response schema: type: string Id: name: id required: true schema: type: string in: path description: Identifier of the Resource Before: name: before in: query description: An opaque string value representing the page results before the cursor value schema: type: string After: name: after in: query description: An opaque string value representing the page results after the cursor value schema: type: string Offset: name: offset in: query description: Requested index for start of resources to be provided in response schema: type: integer examples: Update_an_Application_with_merge-patch_json_content_type_response: value: '@type': Application '@baseType': LogicalResource id: f1cba17d-789a-4037-b3e3-2c96e887576c href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/f1cba17d-789a-4037-b3e3-2c96e887576c name: Evolve Quest creationDate: '2024-12-02T14:00:00.00Z' commercialName: Evolve Quest logoUrl: https://channelpartner.com/opengateway/application/evolvequest/logo.jpg privacyPolicyURL: https://channelpartner.com/opengateway/application/evolvequest/privacyPolicy.html description: Evolve Quest mobile application redirectUrl: - https://channelpartner.com/opengateway/application/evolvequest/redirect jwksUri: https://channelpartner.com/opengateway/application/evolvequest/jwk category: games operationalState: disable approvalStatus: approved digitalIdentity: '@type': ApiDigitalIdentity clientId: evolve_quest_channelPartner15 validFor: startDateTime: '2024-12-02T14:01:00.00Z' applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolvequest.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolvequest.com externalIdentifier: - '@type': ExternalIdentifier id: application_123 owner: ChannelPartner externalIdentifierType: Application channelPartner: '@type': PartyRoleRef id: '15' '@referredType': PartyRole description: An example of a response for updating an Application object. Retrieve_a_list_of_Application_response: value: - '@type': Application '@baseType': LogicalResource id: f1cba17d-789a-4037-b3e3-2c96e887576c href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/f1cba17d-789a-4037-b3e3-2c96e887576c name: Evolve Quest creationDate: '2024-12-02T14:00:00.00Z' commercialName: Evolve Quest logoUrl: https://channelpartner.com/opengateway/application/evolvequest/logo.jpg privacyPolicyURL: https://channelpartner.com/opengateway/application/evolvequest/privacyPolicy.html description: Evolve Quest mobile application redirectUrl: - https://channelpartner.com/opengateway/application/evolvequest/redirect jwksUri: https://channelpartner.com/opengateway/application/evolvequest/jwk category: games operationalState: enable approvalStatus: approved digitalIdentity: '@type': ApiDigitalIdentity clientId: evolve_quest_channelPartner15 validFor: startDateTime: '2024-12-02T14:01:00.00Z' applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolvequest.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolvequest.com channelPartner: '@type': PartyRoleRef id: '15' '@referredType': PartyRole - '@type': Application '@baseType': LogicalResource id: '102' href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/102 name: Evolve West creationDate: '2024-12-02T14:10:00.00Z' commercialName: Evolve West logoUrl: https://channelpartner.com/opengateway/application/evolvequest/logo.jpg privacyPolicyURL: https://channelpartner.com/opengateway/application/evolvequest/privacyPolicy.html description: Evolve West mobile application redirectUrl: - https://channelpartner.com/opengateway/application/evolvequest/redirect jwksUri: https://channelpartner.com/opengateway/application/evolvequest/jwk category: games operationalState: enable approvalStatus: approved digitalIdentity: '@type': ApiDigitalIdentity clientId: evolve_west_channelPartner15 validFor: startDateTime: '2024-12-02T14:11:00.00Z' apiConsumerRole: - grantedPermissionSet: - '@type': ApiPermissionSet creationDate: '2025-04-02T15:00:00.00Z' permission: '@type': ApiConsumerPermission managedAssetGroup: '@type': ApiListAssetGroup '@baseType': AssetGroup apiProduct: - '@type': ProductRef id: '123' '@referredType': ApiProduct validFor: startDateTime: '2025-04-02T15:00:00.00Z' applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolvewest.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolvewest.com channelPartner: '@type': PartyRoleRef id: '15' '@referredType': PartyRole description: A collection of Application representation Update_an_Application_with_json_content_type_request: value: '@type': Application operationalState: disable description: Updating an Application object. Retrieve_an_Application_from_its_identifier_response: value: '@type': Application '@baseType': LogicalResource id: f1cba17d-789a-4037-b3e3-2c96e887576c href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/f1cba17d-789a-4037-b3e3-2c96e887576c name: Evolve Quest creationDate: '2024-12-02T14:00:00.00Z' commercialName: Evolve Quest logoUrl: https://channelpartner.com/opengateway/application/evolvequest/logo.jpg privacyPolicyURL: https://channelpartner.com/opengateway/application/evolvequest/privacyPolicy.html description: Evolve Quest mobile application redirectUrl: - https://channelpartner.com/opengateway/application/evolvequest/redirect jwksUri: https://channelpartner.com/opengateway/application/evolvequest/jwk category: games operationalState: enable approvalStatus: approved digitalIdentity: '@type': ApiDigitalIdentity clientId: evolve_quest_channelPartner15 validFor: startDateTime: '2024-12-02T14:01:00.00Z' applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolvequest.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolvequest.com channelPartner: '@type': PartyRoleRef id: '15' '@referredType': PartyRole description: Application representation Update_an_Application_with_json-patch_json_content_type_response: value: '@type': Application '@baseType': LogicalResource id: f1cba17d-789a-4037-b3e3-2c96e887576c href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/f1cba17d-789a-4037-b3e3-2c96e887576c name: Evolve Quest creationDate: '2024-12-02T14:00:00.00Z' commercialName: Evolve Quest logoUrl: https://channelpartner.com/opengateway/application/evolvequest/logo.jpg privacyPolicyURL: https://channelpartner.com/opengateway/application/evolvequest/privacyPolicy.html description: Evolve Quest mobile application redirectUrl: - https://channelpartner.com/opengateway/application/evolvequest/redirect jwksUri: https://channelpartner.com/opengateway/application/evolvequest/jwk category: games operationalState: disable approvalStatus: approved digitalIdentity: '@type': ApiDigitalIdentity clientId: evolve_quest_channelPartner15 validFor: startDateTime: '2024-12-02T14:01:00.00Z' applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolvequest.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolvequest.com externalIdentifier: - '@type': ExternalIdentifier id: application_123 owner: ChannelPartner externalIdentifierType: Application channelPartner: '@type': PartyRoleRef id: '15' '@referredType': PartyRole description: An example of a response for updating an Application object. Create_an_Application_response: value: '@type': Application '@baseType': LogicalResource id: f1cba17d-789a-4037-b3e3-2c96e887576c href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/f1cba17d-789a-4037-b3e3-2c96e887576c name: Evolve Quest creationDate: '2024-12-02T14:00:00.00Z' commercialName: Evolve Quest logoUrl: https://channelpartner.com/opengateway/application/evolvequest/logo.jpg privacyPolicyURL: https://channelpartner.com/opengateway/application/evolvequest/privacyPolicy.html description: Evolve Quest mobile application redirectUrl: - https://channelpartner.com/opengateway/application/evolvequest/redirect jwksUri: https://channelpartner.com/opengateway/application/evolvequest/jwk category: games operationalState: enable approvalStatus: approved digitalIdentity: '@type': ApiDigitalIdentity clientId: evolve_quest_channelPartner15 applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolvequest.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolvequest.com externalIdentifier: - '@type': ExternalIdentifier id: application_123 owner: ChannelPartner externalIdentifierType: Application channelPartner: '@type': PartyRoleRef id: '15' '@referredType': PartyRole description: POST Application Response Example Update_an_Application_with_json-patch-query_json_content_type_request: value: - op: replace path: /externalIdentifier?id=application_123 value: '@type': ExternalIdentifier id: application_124 owner: ChannelPartner externalIdentifierType: Application description: An example of a request for updating an Application object. Retrieve_an_Application_with_permissions_from_its_identifier_response: value: '@type': Application '@baseType': LogicalResource id: '102' href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/102 name: Evolve West creationDate: '2024-12-02T14:10:00.00Z' commercialName: Evolve West logoUrl: https://channelpartner.com/opengateway/application/evolvequest/logo.jpg privacyPolicyURL: https://channelpartner.com/opengateway/application/evolvequest/privacyPolicy.html description: Evolve West mobile application redirectUrl: - https://channelpartner.com/opengateway/application/evolvequest/redirect jwksUri: https://channelpartner.com/opengateway/application/evolvequest/jwk category: games operationalState: enable approvalStatus: approved digitalIdentity: '@type': ApiDigitalIdentity clientId: evolve_west_channelPartner15 validFor: startDateTime: '2024-12-02T14:11:00.00Z' apiConsumerRole: - grantedPermissionSet: - '@type': ApiPermissionSet creationDate: '2025-04-02T15:00:00.00Z' permission: '@type': ApiConsumerPermission managedAssetGroup: '@type': ApiListAssetGroup '@baseType': AssetGroup apiProduct: - '@type': ProductRef id: '123' '@referredType': ApiProduct validFor: startDateTime: '2025-04-02T15:00:00.00Z' applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolvewest.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolvewest.com channelPartner: '@type': PartyRoleRef id: '15' '@referredType': PartyRole description: Application representation Update_an_Application_with_json-patch-query_json_content_type_response: value: '@type': Application '@baseType': LogicalResource id: f1cba17d-789a-4037-b3e3-2c96e887576c href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/f1cba17d-789a-4037-b3e3-2c96e887576c name: Evolve Quest creationDate: '2024-12-02T14:00:00.00Z' commercialName: Evolve Quest logoUrl: https://channelpartner.com/opengateway/application/evolvequest/logo.jpg privacyPolicyURL: https://channelpartner.com/opengateway/application/evolvequest/privacyPolicy.html description: Evolve Quest mobile application redirectUrl: - https://channelpartner.com/opengateway/application/evolvequest/redirect jwksUri: https://channelpartner.com/opengateway/application/evolvequest/jwk category: games operationalState: disable approvalStatus: approved digitalIdentity: '@type': ApiDigitalIdentity clientId: evolve_quest_channelPartner15 validFor: startDateTime: '2024-12-02T14:01:00.00Z' applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolvequest.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolvequest.com externalIdentifier: - '@type': ExternalIdentifier id: application_124 owner: ChannelPartner externalIdentifierType: Application channelPartner: '@type': PartyRoleRef id: '15' '@referredType': PartyRole description: An example of a response for updating an Application object. Update_an_Application_with_json_content_type_response: value: '@type': Application '@baseType': LogicalResource id: f1cba17d-789a-4037-b3e3-2c96e887576c href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/f1cba17d-789a-4037-b3e3-2c96e887576c name: Evolve Quest creationDate: '2024-12-02T14:00:00.00Z' commercialName: Evolve Quest logoUrl: https://channelpartner.com/opengateway/application/evolvequest/logo.jpg privacyPolicyURL: https://channelpartner.com/opengateway/application/evolvequest/privacyPolicy.html description: Evolve Quest mobile application redirectUrl: - https://channelpartner.com/opengateway/application/evolvequest/redirect jwksUri: https://channelpartner.com/opengateway/application/evolvequest/jwk category: games operationalState: disable approvalStatus: approved digitalIdentity: '@type': ApiDigitalIdentity clientId: evolve_quest_channelPartner15 validFor: startDateTime: '2024-12-02T14:01:00.00Z' applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolvequest.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolvequest.com externalIdentifier: - '@type': ExternalIdentifier id: application_123 owner: ChannelPartner externalIdentifierType: Application channelPartner: '@type': PartyRoleRef id: '15' '@referredType': PartyRole description: A response after PATCH-ing an Application object. Retrieve_an_Application_without_digital_identity_from_its_identifier_response: value: '@type': Application '@baseType': LogicalResource id: '103' href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/103 name: Evolve East creationDate: '2024-12-02T14:20:00.00Z' commercialName: Evolve East logoUrl: https://evolveeast.com/logo.jpg privacyPolicyURL: https://evolveeast.com/privacyPolicy.html description: Evolve East mobile application category: games operationalState: enable approvalStatus: approved applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole externalIdentifier: - '@type': ExternalIdentifier id: application_123 owner: ChannelPartner externalIdentifierType: Application privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolveeast.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolveeast.com channelPartner: '@type': PartyRoleRef id: '15' '@referredType': PartyRole description: Application representation Create_an_Application_request: value: '@type': Application '@baseType': LogicalResource name: Evolve Quest commercialName: Evolve Quest logoUrl: https://channelpartner.com/opengateway/application/evolvequest/logo.jpg privacyPolicyURL: https://channelpartner.com/opengateway/application/evolvequest/privacyPolicy.html description: Evolve Quest mobile application redirectUrl: - https://channelpartner.com/opengateway/application/evolvequest/redirect jwksUri: https://channelpartner.com/opengateway/application/evolvequest/jwk category: games applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole privacyRightsRequestContact: - '@type': WebFormContactMedium '@baseType': ContactMedium id: '1' preferred: false url: https://contact.evolvequest.com - '@type': EmailContactMedium '@baseType': ContactMedium id: '2' preferred: true emailAddress: contact@evolvequest.com externalIdentifier: - '@type': ExternalIdentifier id: application_123 owner: ChannelPartner externalIdentifierType: Application description: POST Application Request Example Update_an_Application_with_merge-patch_json_content_type_request: value: '@type': Application operationalState: disable description: An example of a request for updating an Application object. Update_an_Application_with_json-patch_json_content_type_request: value: - op: replace path: /operationalState value: disable description: An example of a request for updating an Application object. Retrieve_a_list_of_Application_with_field_selection_and_filter_response: value: - '@type': Application '@baseType': LogicalResource id: f1cba17d-789a-4037-b3e3-2c96e887576c href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/f1cba17d-789a-4037-b3e3-2c96e887576c approvalStatus: approved applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 - '@type': Application '@baseType': LogicalResource id: '102' href: https://mycsp.com/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5/application/102 approvalStatus: approved applicationOwner: '@type': PartyRoleRef id: e05b75dc-f843-40d9-8d16-112275a28385 '@referredType': PartyRole description: A collection of Application with field selection and filter requestBodies: Application_FVO: description: The Application to be created content: application/json: schema: $ref: '#/components/schemas/Application_FVO' examples: Create_an_Application: $ref: '#/components/examples/Create_an_Application_request' required: true Application_MVO: description: The Application to be patched content: application/json: schema: $ref: '#/components/schemas/Application_MVO' examples: Update_an_Application_with_json_content_type: $ref: '#/components/examples/Update_an_Application_with_json_content_type_request' application/merge-patch+json: schema: $ref: '#/components/schemas/Application_MVO' examples: Update_an_Application_with_merge-patch_json_content_type: $ref: '#/components/examples/Update_an_Application_with_merge-patch_json_content_type_request' application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatchOperations' examples: Update_an_Application_with_json-patch_json_content_type: $ref: '#/components/examples/Update_an_Application_with_json-patch_json_content_type_request' application/json-patch-query+json: schema: $ref: '#/components/schemas/JsonPatchOperations' examples: Update_an_Application_with_json-patch-query_json_content_type: $ref: '#/components/examples/Update_an_Application_with_json-patch-query_json_content_type_request' required: true securitySchemes: openId: description: OpenID Provider Configuration Information. type: openIdConnect openIdConnectUrl: https://example.com/.well-known/openid-configuration externalDocs: description: Product documentation at Camara url: https://github.com/camaraproject/EdgeCloud x-refined-from: - global-system-for-mobile-communications-application-api-openapi.yml - open-gateway-application-api-openapi.yml