REST API Reference

Self-generated documentation based on Meshery’s Open API specification for it’s REST API. Meshery’s REST API can be explored interactively using the Swagger UI Playground.

Endpoints

/api/application/types

GET Handle GET request for Meshery Application with the provided type

Description

Get application file type

Responses
200 Fetches a single Meshery Application

/api/patterns

DELETE Handle Delete for multiple Meshery Patterns

Description

DeleteMultiMesheryPatternsHandler deletes patterns with the given ids

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200

/api/perf/profile

GET Handle GET request to run a test

Description

Runs the load test with the given parameters

Parameters
Name Located in Description Type
Query query Unknown
Body body Unknown

Responses
200

/api/user/performance/profiles/results

GET Handles GET requests for performance results

Description

Returns pages of all the performance results from Remote Provider

Responses
200 Returns all performance results

/api/telemetry/metrics/grafana/scan

GET Handle GET request for Grafana

Description

Fetches and returns Grafana

Responses
200 Returns a map for v1 services

/api/telemetry/metrics/static-board

GET Handle GET request for Prometheus static board

Description

Used to fetch the static board

Responses
200 Returns Prometheus static board

/api/application/download/{id}/{sourcetype}

GET Handle GET request for Meshery Application with of source content

Description

Get the application source-content

Parameters
Name Located in Description Type
Upload Yaml/Yml File formData File

Responses

/api/meshmodel/generate

POST Handle POST request for component generation

Description

Generates Meshery Components for the given payload

Responses
200

/api/pattern/deploy

POST Handle POST request for Pattern Deploy

Description

Deploy an attached pattern with the request

Parameters
Name Located in Description Type
Upload Yaml/Yml File formData File

Responses
200

DELETE Handle DELETE request for Pattern Deploy

Description

Delete a deployed pattern with the request

Responses
200

/api/telemetry/metrics/boards

POST Handle POST request for Prometheus board

Description

Used to persist selected board and panels

Parameters
Name Located in Description Type
Body body Unknown

Responses
200

/api/system/kubernetes

POST Handle POST request for Kubernetes Config

Description

Used to add kubernetes config to System

Responses
200 Returns saved kubernetes config

DELETE Handle DELETE request for Kubernetes Config

Description

Used to delete kubernetes config to System

Responses
200

/api/user/login

GET Handlers GET request for User login

Description

Redirects user for auth or issues session

Responses
200

/api/user/performance/profiles/{id}/results

GET Handle GET request for results of a profile

Description

Fetchs pages of results from Remote Provider for the given id

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200 Returns all performance results

/api/user/prefs/perf

GET Handle GET request for load test preferences

Description

Used for fetching load test preferences

Parameters
Name Located in Description Type
uuid query String

Responses
200 Returns load test preferences

POST Handle POST request for load test preferences

Description

Used for persisting load test preferences

Parameters
Name Located in Description Type
Body body Unknown

Responses
200

DELETE Handle DELETE request for load test preferences

Description

Used for deleting load test preferences

Parameters
Name Located in Description Type
uuid query String

Responses
200

/api/application/

GET Handle GET request for Application Files

Description

Returns requests for all Meshery Applications

Responses
200 Returns all meshery applications

/api/application/deploy

POST Handle POST request for Application File Deploy

Description

Deploy an attached application file with the request

Parameters
Name Located in Description Type
Upload Yaml/Yml File formData File

Responses
200 Returns the response of the application files

DELETE Handle DELETE request for Application File Deploy

Description

Delete a deployed application file with the request

Responses
200

/api/application/{sourcetype}

POST Handle POST request for Application Files

Description

Updates the design for the provided application

Responses
200 Fetches a single Meshery Application

/api/provider/extension

GET Handle GET request for React Components

Description

handles the requests to serve react components from the provider package

Responses
200

/provider

GET Handle GET request to provider UI

Description

Servers providers UI

Responses
200

/api/filter/catalog

POST Handle GET request for catalog filters

Description

Used to get catalog filters

Responses
200 Returns a single meshery filter

/api/meshmodel/components/register

POST Handle POST request for registering meshmodel components.

Description

Validate the given value with the given schema

Responses
200

/api/provider/capabilities

GET Handle GET requests for Provider

Description

Returns the capabilities.json for the provider

Responses
200

/api/filter/file/{id}

GET Handle GET request for filter file with given id

Description

Returns the Meshery Filter file saved by the current user with the given id

Responses
200 Returns a single meshery filter

/api/pattern/catalog

POST Handle GET request for catalog patterns

Description

Used to get catalog patterns

Responses
200 Returns a single meshery pattern

/api/telemetry/metrics/grafana/boards

GET Handle GET request for Grafana boards

Description

Used for fetching Grafana boards and panels

Parameters
Name Located in Description Type
dashboardSearch query String

Responses
200 Returns Grafana boards and panels

POST Handle POST request for Grafana boards

Description

Used for persist Grafana boards and panel selections

Responses
200

/api/telemetry/metrics/query

GET Handle GET request for Prometheus Query

Description

Used to prometheus queries

Responses
200

/api/meshmodel/model/{model}/component/{name}

GET Handle GET request for getting meshmodel components of a specific type by name.

Description

Example: /api/meshmodel/model/kubernetes/component/Namespace Components can be further filtered through query parameter ?version={version} If version is unspecified then all models are returned ?order={field} orders on the passed field ?sort={[asc/desc]} Default behavior is asc ?search={[true/false]} If search is true then a greedy search is performed ?page={page-number} Default page number is 1 ?pagesize={pagesize} Default pagesize is 25. To return all results: pagesize=all

Responses
200

/api/system/kubernetes/contexts

POST Handle POST requests for Kubernetes Context list

Description

Returns the context list for a given k8s config

Responses
200 Returns kubernetes context list

/api/telemetry/metrics/ping

GET Handle GET request for Prometheus Ping

Description

Used to ping prometheus

Responses
200

/api/meshmodel/model/{model}/relationship

GET Handle GET request for getting meshmodel relationships of a specific model.

Description

Example: /api/meshmodel/model/kubernetes/relationship Relationships can be further filtered through query parameter ?version={version} ?order={field} orders on the passed field ?sort={[asc/desc]} Default behavior is asc ?page={page-number} Default page number is 1 ?pagesize={pagesize} Default pagesize is 25. To return all results: pagesize=all

Responses
200 https://docs.google.com/drawings/d/1_qzQ_YxvCWPYrOBcdqGMlMwfbsZx96SBuIkbn8TfKhU/edit?pli=1 see RELATIONSHIPDEFINITIONS table in the diagram

/api/oam/{type}

GET Handles the get requests for the OAM objects

Description

Getting list of workloads/traits/scopes {type} being of either trait, scope, workload; registration of adapter capabilities. Example: /api/oam/workload => Here {type} is "workload"

Responses
200

POST Handles registering OMA objects

Description

Adding a workload/trait/scope {type} being of either trait, scope, workload; registration of adapter capabilities. Example: /api/oam/trait => Here {type} is "trait"

Responses
200

/api/user/logout

GET Handlers GET request for User logout

Description

Redirects user for auth or issues session

Responses
200

/api/user/schedules/{id}

GET Handle GET reqeuest for Schedules

Description

Fetches and returns the schedule with the given id

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200 Returns a single schedules

DELETE Handle DELETE reqeuest for Schedules

Description

Deletes a schedule with the given id

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200 Returns List of saved schedules

/api/filter/deploy

DELETE Handle DELETE request for Filter File Deploy

Description

Delete a deployed filter file with the request

Responses
200

POST Handle POST request for Filter File Deploy

Description

Deploy an attached filter file with the request

Responses
200 Returns the response of the Filter files

/api/perf/profile/result

GET Handles GET requests for perf results

Description

Returns pages of all the perf results from Remote Provider

Responses
200 Returns all performance results

/api/system/meshsync/prometheus

GET Handle GET request for fetching prometheus

Description

Fetches Prometheus

Responses
200 Returns a map for v1 services

/api/user/performance/profiles/{id}/run

GET Handle GET request to run a performance test

Description

Runs the load test with the given parameters

Parameters
Name Located in Description Type
Body query Unknown

Responses
200

/api/user/schedules

GET Handle GET reqeuest for Schedules

Description

Returns the list of all the schedules saved by the current user

Responses
200 Returns List of saved schedules

POST Handle POST reqeuest for Schedules

Description

Save schedule using the current provider's persistence mechanism

Responses
200 Returns a single schedules

/api/filter/catalog/publish

POST Handle Publish for a Meshery Filter

Description

Publishes filter to Meshery Catalog by setting visibility to public and setting catalog data

Responses
200

/api/meshmodel/model

GET Handle GET request for getting all meshmodel models. The component type/model name should be lowercase like "kubernetes", "istio"

Description

?version={version} If version is unspecified then all models are returned ?order={field} orders on the passed field ?category={category of model} If category in unspecified then all models are returned ?sort={[asc/desc]} Default behavior is asc ?search={[true/false]} If search is true then a greedy search is performed ?page={page-number} Default page number is 1 ?pagesize={pagesize} Default pagesize is 25. To return all results: pagesize=all

Responses
200

/api/oam/{type}/{name}

GET Handles GET requests for component details for OAM objects

Description

Returns component details of a workload/trait/scope by given name in the URL {type} being of either trait, scope, workload; registration of adapter capabilities. Example: /api/oam/workload/Application => Here {type} is "workload" and {name} is "Application" it should be noted that both {type} and {name} should be valid

Responses
200

/api/system/adapter/manage

POST Handle POST requests to persist adapter config

Description

Used to persist adapter config

Parameters
Name Located in Description Type
meshLocationURL body Unknown

Responses
200 Returns all the meshery adapters

DELETE Handle DELETE requests to delete adapter config

Description

Used to delete adapter configuration

Parameters
Name Located in Description Type
adapter query String

Responses
200

/api/filter/clone/{id}

POST Handle Clone for a Meshery Filter

Description

Creates a local copy of a public filter with id: id

Responses
200

/api/meshmodel/model/{model}/relationship/{name}

GET Handle GET request for getting meshmodel relationships of a specific model by name.

Description

Example: /api/meshmodel/model/kubernetes/relationship/Edge Relationships can be further filtered through query parameter ?version={version} ?order={field} orders on the passed field ?sort={[asc/desc]} Default behavior is asc ?search={[true/false]} If search is true then a greedy search is performed ?page={page-number} Default page number is 1 ?pagesize={pagesize} Default pagesize is 25. To return all results: pagesize=all

Responses
200 https://docs.google.com/drawings/d/1_qzQ_YxvCWPYrOBcdqGMlMwfbsZx96SBuIkbn8TfKhU/edit?pli=1 see RELATIONSHIPDEFINITIONS table in the diagram

/api/system/adapter/operation

POST Handle POST requests for Adapter Operations

Description

Used to send operations to the adapters

Parameters
Name Located in Description Type
adapter query String
query query String
customBody query String
namespace query String
deleteOp query String

Responses
200

/api/user/performance/profiles/{id}

GET Handle GET requests for performance results of a profile

Description

Returns single performance profile with the given id

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200 Returns a single performance profile

DELETE Handle Delete requests for performance profiles

Description

Deletes a performance profile with the given id

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200

/api/pattern/{id}

GET Handle GET for a Meshery Pattern

Description

Fetches the pattern with the given id

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200 Returns a single meshery pattern

DELETE Handle Delete for multiple Meshery Patterns

Description

DeleteMultiMesheryPatternsHandler deletes patterns with the given ids

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200

/api/system/meshsync/grafana

GET Handle GET request for mesh-sync grafana

Description

Fetches Prometheus and Grafana

Responses
200 Returns a map for v1 services

/api/telemetry/metrics/grafana/ping

GET Handle GET request for Grafana ping

Description

Used to initiate a Grafana ping

Responses
200

/api/user/prefs

GET Handle GET for User Load Test Preferences

Description

Returns User Load Test Preferences

Responses
200 Returns User Load Test Preferencee

POST Handle GET for User Load Test Preferences

Description

Updates User Load Test Preferences

Responses
200 Returns User Load Test Preferencee

/api/system/version

GET Handle GET request for system/server version

Description

Returns the running Meshery version

Responses
200 Returns Meshery version

/api/oam/{type}/{name}/{id}

GET Handles GET requests for component details for OAM objects

Description

Returns details of a workload/trait/scope by given name and id in the URL {type} being of either trait, scope, workload; registration of adapter capabilities. Example: /api/oam/workload/Application/asdqe123sa275sasd => Here {type} is "workload" {name} is "Application" and {id} is "asdqe123sa275sasd". It should be noted that all of three, i.e {type}, {name} and {id} must be valid

Responses
200

/api/pattern

GET Handle GET request for patterns

Description

Returns the list of all the patterns saved by the current user This will return all the patterns with their details ?updated_after= timestamp should be of the format `YYYY-MM-DD HH:MM:SS` ?order={field} orders on the passed field ?search= A string matching is done on the specified design name ?page={page-number} Default page number is 1 ?pagesize={pagesize} Default pagesize is 10

Responses
200 Returns all meshery patterns

POST Handle POST requests for patterns

Description

Edit/update a meshery pattern

Responses
200 Returns a single meshery pattern

/api/perf/profile/result/{id}

GET Handles GET requests for perf result

Description

Returns an individual result from provider

Responses
200 Returns Single test result

/api/providers

GET Handle GET request for list of providers

Description

Returns the available list of providers

Responses
200 Returns a list of available providers

/api/telemetry/metrics/grafana/config

POST Handle POST request for Grafana configuration

Description

Used for persisting Grafana configuration

Parameters
Name Located in Description Type
Body body Unknown

Responses
200

DELETE Handle DELETE request for Grafana configuration

Description

Used for Delete Grafana configuration

Responses
200

GET Handle GET request for Grafana configuration

Description

Used for fetching Grafana configuration

Responses
200 Returns Grafana configs

/api/telemetry/metrics/grafana/query

GET Handle GET request for Grafana queries

Description

Used for handling Grafana queries

Responses
200

/api/application/{id}

GET Handle GET request for Meshery Application with the given id

Description

Fetches the list of all applications saved by the current user ?updated_after= timestamp should be of the format `YYYY-MM-DD HH:MM:SS` ?order={field} orders on the passed field ?search= A string matching is done on the specified application name ?page={page-number} Default page number is 1 ?pagesize={pagesize} Default pagesize is 10

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200 Fetches a single Meshery Application

DELETE Handle Delete for a Meshery Application File

Description

Deletes a meshery application file with ID: id

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200

/api/meshmodel/validate

POST Handle POST request for validate

Description

Validate the given value with the given schema

Responses
200

/api/system/kubernetes/ping?contexts={id}

GET Handle GET request for Kubernetes ping

Description

Fetches server version to simulate ping

Responses
200

/api/telemetry/metrics/board_import

POST Handle POST request for Prometheus board import

Description

Used for importing Grafana board for Prometheus

Responses
200 Response for prometheus board import

/api/filter/{id}

GET Handle GET request for a Meshery Filter

Description

Fetches the Meshery Filter with the given id

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200 Returns a single meshery filter

DELETE Handle Delete for a Meshery Filter

Description

Deletes a meshery filter with ID: id

Parameters
Name Located in Description Type
id path id for a specific String

Responses
200

/api/pattern/catalog/publish

POST Handle Publish for a Meshery Pattern

Description

Publishes pattern to Meshery Catalog by setting visibility to public and setting catalog data

Responses
200

/api/pattern/clone/{id}

POST Handle Clone for a Meshery Pattern

Description

Creates a local copy of a public pattern with id: id

Responses
200

/api/system/adapters

GET Handle GET request for adapters

Description

Fetches and returns all the adapters and ping adapters

Parameters
Name Located in Description Type
adapter query String

Responses
200 Return all the adapters

/api/user/performance/profiles

GET Handle GET requests for performance profiles

Description

Returns the list of all the performance profiles saved by the current user

Responses
200 Returns all the performance profiles

POST Handle POST requests for saving performance profile

Description

Save performance profile using the current provider's persistence mechanism

Parameters
Name Located in Description Type
Body body Unknown

Responses
200 Returns a single performance profile

/api/filter

GET Handle GET request for all filters

Description

Returns all the Meshery Filters saved by the current user

Responses
200 Returns all meshery filters

POST Handle POST requests for Meshery Filters

Description

Used to save/update a Meshery Filter

Responses
200 Returns a single meshery filter

/api/meshmodel/model/{model}

GET Handle GET request for getting all meshmodel entities of a specific model.

Description

Example: /api/meshmodel/model/kubernetes Models can be further filtered through query parameter ?version={version} ?order={field} orders on the passed field ?sort={[asc/desc]} Default behavior is asc ?search={[true/false]} If search is true then a greedy search is performed ?page={page-number} Default page number is 1 ?pagesize={pagesize} Default pagesize is 25. To return all results: pagesize=all

Responses
200

/api/meshmodel/model/{model}/component

GET Handle GET request for getting meshmodel components of a specific type. The component type/model name should be lowercase like "kubernetes", "istio"

Description

Example: /api/meshmodel/model/kubernetes/component Components can be further filtered through query parameter ?version={version} ?order={field} orders on the passed field ?sort={[asc/desc]} Default behavior is asc ?page={page-number} Default page number is 1 ?pagesize={pagesize} Default pagesize is 25. To return all results: pagesize=all

Responses
200

/api/provider

GET Handle GET request for the choice of provider

Description

Update the choice of provider in system

Parameters
Name Located in Description Type
provider query String

Responses
200

/api/system/sync

GET Handle GET request for config sync

Description

Used to send session data to the UI for initial sync

Responses
200 Returns User Load Test Preferencee

/api/telemetry/metrics/config

GET Handle GET for Prometheus configuration

Description

Used for fetching Prometheus configuration

Responses
200 Returns prometheus configuration

POST Handle POST for Prometheus configuration

Description

Used for persisting Prometheus configuration

Parameters
Name Located in Description Type
prometheusURL body Unknown

Responses
200

DELETE Handle DELETE for Prometheus configuration

Description

Used for deleting Prometheus configuration

Responses
200

/api/user/token

GET Handle GET request for tokens

Description

Returns token from the actual provider in a file resposese: 200:

POST Handle POST request for tokens

Description

Receives token from the actual provider resposese: 200: