REST API Reference

Meshery’s APIs

Each of Meshery’s APIs are subject to the following authentication and authorization system. Meshery requires a valid token in order to allow clients to invoke its APIs.

Authentication Requests to any of the API endpoints must be authenticated and include a valid JWT access token in the HTTP headers. Type of authentication is determined by the selected [Provider](#providers). Use of the Local Provider, "None", puts Meshery into single-user mode and does not require authentication.

How to get your token

There are two ways to get your authentication token:

Meshery UI Using Meshery UI, you can get a copy of your authentication token by following these steps:
1. Log into Meshery by selecting your identity provider of choice (typically found at http:\\{meshery-server}:9081/provider)
2. Navigate to your user's avatar in the upper righthand corner and select "Get Token" from the dropdown of profile section: Meshery Dashboard
Meshery CLI
Using Meshery CLI, you can get a copy of your authentication token by executing this command:

  
mesheryctl system login


In order to use this command, you must have a web browser available on your system (this command cannot be executed on a headless system).

How to access Meshery’s REST API

Example using curl
Using curl, you can access Meshery's REST API by executing this command:

  
curl --location 'localhost:9081/api/<endpoint>' \ --header 'meshery-token: <yourToken>\ --header 'Cookie: meshery-provider=Meshery; meshery.layer5.io_ref=/;token=<yourToken>


Self-generated documentation based on Meshery’s OpenAPI specification for it’s REST API.

Meshery’s REST API can be explored interactively using the Swagger UI Playground.

Endpoints

/api/application

GET Handle GET request for Application Files

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 0 ```?pagesize={pagesize}``` Default pagesize is 10
Responses

200 - Returns all meshery applications

Name Format Type
applications Object array
page uint64 integer
page_size uint64 integer
total_count uint64 integer

/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

Name Format Type
type Object object
updated_at date-time string
user_id Object string
created_at date-time string
id uuid string
source_content Object array
application_file Object string
location Object object
name Object string

DELETE Handle DELETE request for Application File Deploy

Description
Delete a deployed application file with the request
Responses

200

/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/application/types

GET Handle GET request for Meshery Application types

Description
Get application file types
Responses

200 - Returns Meshery application types

/api/application/{id}

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/application/{sourcetype}

POST Handle POST request for Application Files

Description
Updates the design for the provided application
Responses

200 - Fetches a single Meshery Application

Name Format Type
created_at date-time string
id uuid string
name Object string
type Object object
updated_at date-time string
application_file Object string
location Object object
source_content Object array
user_id Object string

/api/content/design/share

POST Handle POST request for Sharing content

Description
Used to share designs with others
Responses

200

403

500

/api/content/filter/share

POST Handle POST request for Sharing content

Description
Used to share filters with others
Responses

200

403

500

/api/events

GET Handle GET request for events.

Description
Listens for events across all of Meshery's components like adapters and server, streaming them to the UI via Server Side Events This API call never terminates and establishes a persistent keep-alive connection over which `EventsResponse`s are pushed.
Responses

200

/api/events/status/{id}

POST Handle POST request to update event status.

Description
Updates event status for the event associated with the id.
Responses

200 - Returns event

Name Format Type
acted_upon uuid string
deleted_at date-time string
category Object string
created_at date-time string
status Object string
user_id uuid string
system_id uuid string
updated_at date-time string
description Object string
id uuid string
metadata Object object
severity Object string
action Object string
operation_id uuid string

/api/events/{id}

DELETE Handle DELETE request for events.

Description
Deletes event associated with the id.
Responses

200

/api/filter

GET Handle GET request for filters

Description
# Returns the list of all the filters saved by the current user ```?order={field}``` orders on the passed field ```?search=``` A string matching is done on the specified filter name ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10 ```?visibility={visibility}``` Default visibility is public
Responses

200 - Returns all meshery filters

Name Format Type
page uint64 integer
page_size uint64 integer
total_count uint64 integer
filters Object array

POST Handle POST requests for Meshery Filters

Description
Used to save/update a Meshery Filter
Responses

200 - Returns a single meshery filter

Name Format Type
catalogData Object object
filter_file Object array
filter_resource Object string
id uuid string
location Object object
created_at date-time string
name Object string
updated_at date-time string
user_id Object string
visibility Object string

/api/filter/catalog

GET Handle GET request for catalog filters

Description
# Filters can be further filtered through query parameter ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10. ```?search={filtername}``` If search is non empty then a greedy search is performed
Responses

200 - Returns all meshery filters

Name Format Type
filters Object array
page uint64 integer
page_size uint64 integer
total_count uint64 integer

/api/filter/catalog/publish

POST Handle Publish for a Meshery Filter

Description
Publishes filter to Meshery Catalog by setting visibility to published and setting catalog data
Responses

202

/api/filter/catalog/unpublish

DELETE Handle UnPublish for a Meshery Filter

Description
Unpublishes filter from Meshery Catalog by setting visibility to private and removing catalog data from website
Responses

200

/api/filter/clone/{id}

POST Handle Clone for a Meshery Filter

Description
Creates a local copy of a published filter with id: id
Responses

200

/api/filter/deploy

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

Name Format Type
catalogData Object object
name Object string
visibility Object string
updated_at date-time string
user_id Object string
created_at date-time string
filter_file Object array
filter_resource Object string
id uuid string
location Object object

DELETE Handle DELETE request for Filter File Deploy

Description
Delete a deployed filter file with the request
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

Name Format Type
location Object object
updated_at date-time string
id uuid string
created_at date-time string
filter_file Object array
filter_resource Object string
name Object string
user_id Object string
visibility Object string
catalogData Object object

/api/filter/{id}

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

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

Name Format Type
visibility Object string
catalogData Object object
filter_resource Object string
location Object object
updated_at date-time string
user_id Object string
created_at date-time string
filter_file Object array
id uuid string
name Object string

/api/identity/users

GET Handles GET for all Users

Description
# Users can be further filtered through query parameters ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 20 ```?search={username|email|first_name|last_name}``` If search is non empty then a greedy search is performed ```?filter={condition}```
Parameters
Name Located in Description Type
page query Integer
pageSize query Integer
search query String
order query in: order String
filter query in: filter String
Responses

200 - Returns all users info

Name Format Type
page int64 integer
page_size int64 integer
total_count int64 integer
data Object array

/api/identity/users/keys

GET Handles GET for all Keys for users

Description
Returns all keys for user
Responses

200 - Returns users Keys

Name Format Type
created_at Object string
deleted_at Object string
function Object string
id Object string
owner Object string
category Object string
description Object string
subcategory Object string
updated_at Object string

/api/integrations/connections

GET Handle GET request for getting all connections

Description
```?order={field}``` orders on the passed field ```?search={}``` If search is non empty then a greedy search is performed ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10
Responses

200

POST Handle POST request for creating a new connection

Description
Creates a new connection
Responses

201

/api/integrations/connections/status

GET Handle GET request for getting all connections status

Description
Get all connections status
Responses

200 - Returns all connections Status

Name Format Type
connections_status Object array

/api/integrations/connections/{connectionId}

PUT Handle PUT request for updating an existing connection by connection ID

Description
Updates existing connection using ID
Responses

200 - Returns a single connection

Name Format Type
updated_at date-time string
created_at date-time string
metadata Object object
type Object string
kind Object string
name Object string
status Object string
sub_type Object string
user_id uuid string
credential_id uuid string
deleted_at Object object
id uuid string

/api/integrations/connections/{connectionKind}

GET Handle GET request for getting all connections for a given kind.

Description
```?order={field}``` orders on the passed field ```?search={}``` If search is non empty then a greedy search is performed ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10
Responses

200

PUT Handle PUT request for updating an existing connection

Description
Updates existing connection
Responses

200

/api/integrations/environments

POST Handle POST request for creating a new environment

Description
Creates a new environment
Responses

201

GET Handles GET for all Environments

Description
# Environments can be further filtered through query parameters ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 20 ```?search={environments_name}``` If search is non empty then a greedy search is performed ```?filter={condition}```
Responses

200 - Returns all environements

Name Format Type
total_count int64 integer
environments Object array
page int64 integer
page_size int64 integer

/api/integrations/environments/{environmentID}/connections/{connectionID}

POST Handle POST to add Connection in Environment by ID

Description
Returns Environment connection mapping info
Responses

200 - Returns environment

Name Format Type
description Object string
id uuid string
name Object string
org_id uuid string
owner Object string
updated_at date-time string
created_at date-time string
deleted_at Object object

DELETE Handle DELETE to remove Connection from Environment by ID

Description
Removes connection from environment
Responses

201

/api/integrations/environments/{id}

GET Handle GET for Environment info by ID

Description
Returns Environment info
Responses

200 - Returns environment

Name Format Type
created_at date-time string
deleted_at Object object
description Object string
id uuid string
name Object string
org_id uuid string
owner Object string
updated_at date-time string

PUT Handle PUT request for updating a environment

Description
Updates a environment
Responses

200 - Returns environment

Name Format Type
owner Object string
updated_at date-time string
created_at date-time string
deleted_at Object object
description Object string
id uuid string
name Object string
org_id uuid string

DELETE Handle DELETE for Environment based on ID

Description
Returns Environment info
Responses

201

/api/meshmodel/components/register

POST Handle POST request for registering meshmodel components.

Description
Validate the given value with the given schema
Responses

200

/api/meshmodel/generate

POST Handle POST request for component generation

Description
Generates Meshery Components for the given payload
Responses

200

/api/meshmodel/validate

POST Handle POST request for validate

Description
Validate the given value with the given schema
Responses

200

/api/meshmodels/categories

GET Handle GET request for getting all meshmodel categories

Description
```?order={field}``` orders on the passed field ```?sort={[asc/desc]}``` Default behavior is asc ```?search={categoryName}``` If search is non empty 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 - Returns meshmodel categories

Name Format Type
categories Object array
page int64 integer
page_size int64 integer
total_count int64 integer

/api/meshmodels/categories/{category}

GET Handle GET request for getting all meshmodel categories of a given name

Description
```?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``` ```?search={[true/false]}``` If search is true then a greedy search is performed
Responses

200 - Returns meshmodel categories

Name Format Type
categories Object array
page int64 integer
page_size int64 integer
total_count int64 integer

/api/meshmodels/categories/{category}/components

GET Handle GET request for getting meshmodel components of a specific model and category.

Description
# Components can be further filtered through query parameter ```?version={version}``` ```?trim={[true]}``` When trim is set to true, the underlying schemas are not returned for entities ```?apiVersion={apiVersion}``` If apiVersion is unspecified then all models are returned ```?order={field}``` orders on the passed field ```?search={componentname}``` If search is non empty then a greedy search is performed ```?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 - Return meshmoddel components with the count of duplicates

Name Format Type
components Object array
page int64 integer
page_size int64 integer
total_count int64 integer

/api/meshmodels/categories/{category}/components/{name}

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

Description
Example: ```/api/meshmodels/categories/Orchestration``` and Management/components/Namespace Components can be further filtered through query parameter ```?model={model}``` If model is unspecified then all models are returned ```?version={version}``` If version is unspecified then all model versions are returned ```?apiVersion={apiVersion}``` If apiVersion is unspecified then all components are returned ```?order={field}``` orders on the passed field ```?search={[true/false]}``` If search is true then a greedy search is performed ```?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 - Return meshmoddel components with the count of duplicates

Name Format Type
components Object array
page int64 integer
page_size int64 integer
total_count int64 integer

/api/meshmodels/categories/{category}/models

GET Handle GET request for getting all meshmodel models for a given category. 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 ```?search={modelname}``` If search is non empty then a greedy search is performed ```?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 - Return meshmodel models with the count of duplicates

Name Format Type
models Object array
page int64 integer
page_size int64 integer
total_count int64 integer

/api/meshmodels/categories/{category}/models/{model}

GET Handle GET request for getting all meshmodel models for a given category. 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 ```?search={[true/false]}``` If search is true then a greedy search is performed ```?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 - Return meshmodel models with the count of duplicates

Name Format Type
models Object array
page int64 integer
page_size int64 integer
total_count int64 integer

/api/meshmodels/categories/{category}/models/{model}/components

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

Description
Example: ```/api/meshmodels/categories/Orchestration``` and Management/models/kubernetes/components Components can be further filtered through query parameter ```?version={version}``` ```?trim={[true]}``` When trim is set to true, the underlying schemas are not returned for entities ```?apiVersion={apiVersion}``` If apiVersion is unspecified then all models are returned ```?order={field}``` orders on the passed field ```?search={componentname}``` If search is non empty then a greedy search is performed ```?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 - Return meshmoddel components with the count of duplicates

Name Format Type
page int64 integer
page_size int64 integer
total_count int64 integer
components Object array

/api/meshmodels/categories/{category}/models/{model}/components/{name}

GET Handle GET request for getting meshmodel components of a specific type by model and category.

Description
Example: ```/api/meshmodels/categories/Orchestration``` and Management/models/kubernetes/components/Namespace Components can be further filtered through query parameter ```?version={version}``` If version is unspecified then all model versions are returned ```?apiVersion={apiVersion}``` If apiVersion is unspecified then all components are returned ```?order={field}``` orders on the passed field ```?search={[true/false]}``` If search is true then a greedy search is performed ```?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 - Return meshmoddel components with the count of duplicates

Name Format Type
page_size int64 integer
total_count int64 integer
components Object array
page int64 integer

/api/meshmodels/components

GET Handle GET request for getting meshmodel components across all models and categories

Description
# Components can be further filtered through query parameter ```?version={version}``` ```?apiVersion={apiVersion}``` If apiVersion is unspecified then all models are returned ```?order={field}``` orders on the passed field ```?search={componentname}``` If search is non empty then a greedy search is performed ```?trim={[true]}``` When trim is set to true, the underlying schemas are not returned for entities ```?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 - Return meshmoddel components with the count of duplicates

Name Format Type
components Object array
page int64 integer
page_size int64 integer
total_count int64 integer

/api/meshmodels/components/{name}

GET Handle GET request for getting meshmodel components of a specific type by name across all models and categories

Description
Example: ```/api/meshmodels/components/Namespace``` Components can be further filtered through query parameter ```?model={model}``` If model is unspecified then all models are returned ```?version={version}``` If version is unspecified then all model versions are returned ```?apiVersion={apiVersion}``` If apiVersion is unspecified then all components are returned ```?order={field}``` orders on the passed field ```?sort={[asc/desc]}``` Default behavior is asc ```?trim={[true]}``` When trim is set to true, the underlying schemas are not returned for entities ```?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 - Return meshmoddel components with the count of duplicates

Name Format Type
components Object array
page int64 integer
page_size int64 integer
total_count int64 integer

/api/meshmodels/models

GET Handle GET request for getting all meshmodel models

Description
# Returns a list of registered models across all categories ```?version={version}``` If version is unspecified then all models are returned ```?order={field}``` orders on the passed field ```?search={modelname}``` If search is non empty then a greedy search is performed ```?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 - Return meshmodel models with the count of duplicates

Name Format Type
page int64 integer
page_size int64 integer
total_count int64 integer
models Object array

/api/meshmodels/models/{model}

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

Description
# Returns a list of registered models across all categories ```?version={version}``` If version is unspecified then all models are returned ```?order={field}``` orders on the passed field ```?search={[true/false]}``` If search is true then a greedy search is performed ```?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 - Return meshmodel models with the count of duplicates

Name Format Type
page int64 integer
page_size int64 integer
total_count int64 integer
models Object array

/api/meshmodels/models/{model}/components

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

Description
Example: ```/api/meshmodels/models/kubernetes/components``` Components can be further filtered through query parameter ```?version={version}``` ```?trim={[true]}``` When trim is set to true, the underlying schemas are not returned for entities ```?apiVersion={apiVersion}``` If apiVersion is unspecified then all models are returned ```?search={componentname}``` If search is non empty then a greedy search is performed ```?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 - Return meshmoddel components with the count of duplicates

Name Format Type
page_size int64 integer
total_count int64 integer
components Object array
page int64 integer

/api/meshmodels/models/{model}/components/{name}

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

Description
Example: ```/api/meshmodels/models/kubernetes/components/Namespace``` Components can be further filtered through query parameter ```?version={version}``` If version is unspecified then all model versions are returned ```?apiVersion={apiVersion}``` If apiVersion is unspecified then all components 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 - Return meshmoddel components with the count of duplicates

Name Format Type
page_size int64 integer
total_count int64 integer
components Object array
page int64 integer

/api/meshmodels/models/{model}/policies/

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

Description
Example: ```/api/meshmodels/models/kubernetes/policies``` ```?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 - Returns meshmodel policies

Name Format Type
policies Object array
total_count int64 integer
page int64 integer
page_size int64 integer

/api/meshmodels/models/{model}/policies/{name}

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

Description
Example: ```/api/meshmodels/models/kubernetes/policies/{name}``` ```?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 - Returns meshmodel policies

Name Format Type
page int64 integer
page_size int64 integer
policies Object array
total_count int64 integer

/api/meshmodels/models/{model}/relationships

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 - Returns meshmodel relationships

Name Format Type
page int64 integer
page_size int64 integer
relationships Object array
total_count int64 integer

/api/meshmodels/models/{model}/relationships/{name}

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

Description
Example: ```/api/meshmodels/models/kubernetes/relationships/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 - Returns meshmodel relationships

Name Format Type
page_size int64 integer
relationships Object array
total_count int64 integer
page int64 integer

/api/meshmodels/relationships

GET Handle GET request for getting all meshmodel relationships

Description
# 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 - Returns meshmodel relationships

Name Format Type
page int64 integer
page_size int64 integer
relationships Object array
total_count int64 integer

/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 ```?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

Name Format Type
page uint64 integer
page_size uint64 integer
patterns Object array
total_count uint64 integer

POST Handle POST requests for patterns

Description
Edit/update a meshery pattern
Responses

200 - Returns a single meshery pattern

Name Format Type
catalogData Object object
location Object object
name Object string
updated_at date-time string
visibility Object string
created_at date-time string
id uuid string
pattern_file Object string
user_id Object string

/api/pattern/catalog

GET Handle GET request for catalog patterns

Description
# Patterns can be further filtered through query parameter ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10. ```?search={patternname}``` If search is non empty then a greedy search is performed
Responses

200 - Returns all meshery patterns

Name Format Type
page uint64 integer
page_size uint64 integer
patterns Object array
total_count uint64 integer

/api/pattern/catalog/publish

POST Handle Publish for a Meshery Pattern

Description
Publishes pattern to Meshery Catalog by setting visibility to published and setting catalog data
Responses

202

/api/pattern/catalog/unpublish

DELETE Handle Publish for a Meshery Pattern

Description
Unpublishes pattern from Meshery Catalog by setting visibility to private and removing catalog data from website
Responses

200

/api/pattern/clone/{id}

POST Handle Clone for a Meshery Pattern

Description
Creates a local copy of a published pattern with id: id
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/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

Name Format Type
created_at date-time string
location Object object
name Object string
visibility Object string
user_id Object string
catalogData Object object
id uuid string
pattern_file Object string
updated_at date-time string

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/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 PerformanceTestParameters contains parameters to run a performance test Object
Body body Unknown
Responses

200

/api/perf/profile/result

GET Handles GET requests for perf results

Description
# Results can be further filtered through query parameter ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10 ```?search={}``` If search is non empty then a greedy search is performed ```?from={date}``` Date must be in yyyy-mm-dd format ```?to={date}``` Date must be in yyyy-mm-dd format
Responses

200 - Returns all performance results

Name Format Type
page_size uint64 integer
results Object array
total_count uint64 integer
page uint64 integer

/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

Name Format Type
ActualQPS double number
DetailsURI Object string
EndTime date-time string
Latencies Object object
MeshConfigID Object string
TestID Object string
EnvID Object string
SMPVersion Object string
StartTime date-time string

/api/policies/run_policy

POST

Description
Handle POST request for running the set of policies on the design file, the policies are picked from the policies directory and query is sent to find all the relationships around the services in the given design file
Responses

/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/provider/capabilities

GET Handle GET requests for Provider

Description
Returns the capabilities.json for the provider
Responses

200

/api/provider/extension

GET Handle GET request for React Components

Description
handles the requests to serve react components from the provider package
Responses

200

/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/schema/resource/{resourceName}

/api/smi/results

GET Handle GET request for the results of all the smi conformance tests

Description
# Results can be further filtered through query parameter ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10 ```?search={status|mesh_version|mesh_name|date|id}``` If search is non empty then a greedy search is performed
Responses

200 - Returns SMI results

Name Format Type
results Object array
total_count int64 integer
page uint64 integer
page_size uint64 integer

/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/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/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/system/adapters/available

GET Handle GET request for available adapters

Description
Fetches and returns all the adapters available for deployment
Responses

200 - Return all the adapters

/api/system/database

GET Handle GET request for getting summary about the system database.

Description
# Tables can be further filtered through query parameter ```?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 10. To return all results: ```pagesize=all``` ```?search={tablename}``` If search is non empty then a greedy search is performed
Responses

200 - Returns database summary

Name Format Type
total_tables int64 integer
page int64 integer
page_size int64 integer
record_count int64 integer
tables Object array

/api/system/database/reset

DELETE Reset the system database to its initial state.

Description
This endpoint resets the system database to its initial state by performing the following steps: Creates an archive of the current database contents. Drops all existing tables in the database. Applies auto migration to recreate the necessary tables.
Responses

500

200

/api/system/kubernetes

DELETE Handle DELETE request for Kubernetes Config

Description
Used to delete kubernetes config to System
Responses

200

POST Handle POST request for Kubernetes Config

Description
Used to add kubernetes config to System
Responses

200 - Returns saved kubernetes config

/api/system/kubernetes/contexts

GET Handle GET request for all kubernetes contexts.

Description
# Contexts can be further filtered through query parameter ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10 ```?search={contextname}``` If search is non empty then a greedy search is performed
Responses

200 - Returns K8s contexts

Name Format Type
contexts Object array
page uint64 integer
page_size uint64 integer
total_count int64 integer

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/system/kubernetes/ping?connection_id={id}

GET Handle GET request for Kubernetes ping

Description
Fetches server version to simulate ping
Responses

200

/api/system/kubernetes/register

POST Handle registration request for Kubernetes components

Description
Used to register Kubernetes components to Meshery from a kubeconfig file
Responses

202

400

500

/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/system/meshsync/prometheus

GET Handle GET request for fetching prometheus

Description
Fetches Prometheus
Responses

200 - Returns a map for v1 services

/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

Name Format Type
updated_at date-time string
prometheus Object object
remoteProviderPreferences Object object
usersExtensionPreferences Object object
anonymousPerfResults Object boolean
anonymousUsageStats Object boolean
grafana Object object
loadTestPrefs Object object
meshAdapters Object array

/api/system/version

GET Handle GET request for system/server version

Description
Returns the running Meshery version
Responses

200 - Returns Meshery version

Name Format Type
outdated Object boolean
release_channel Object string
build Object string
commitsha Object string
latest Object string

/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

Name Format Type
uri Object string
org_id uint64 integer
panels Object array
slug Object string
template_vars Object array
title Object string
uid Object string

/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/telemetry/metrics/config

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

GET Handle GET for Prometheus configuration

Description
Used for fetching Prometheus configuration
Responses

200 - Returns prometheus configuration

Name Format Type
prometheusURL Object string
selectedPrometheusBoardsConfigs Object array

/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/grafana/config

GET Handle GET request for Grafana configuration

Description
Used for fetching Grafana configuration
Responses

200 - Returns Grafana configs

Name Format Type
selectedBoardsConfigs Object array
grafanaAPIKey Object string
grafanaURL Object string

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

/api/telemetry/metrics/grafana/ping

GET Handle GET request for Grafana ping

Description
Used to initiate a Grafana ping
Responses

200

/api/telemetry/metrics/grafana/query

GET Handle GET request for Grafana queries

Description
Used for handling Grafana queries
Responses

200

/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/ping

GET Handle GET request for Prometheus Ping

Description
Used to ping prometheus
Responses

200

/api/telemetry/metrics/query

GET Handle GET request for Prometheus Query

Description
Used to prometheus queries
Responses

200

/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/user/login

GET Handlers GET request for User login

Description
Redirects user for auth or issues session
Responses

200

/api/user/logout

GET Handlers GET request for User logout

Description
Redirects user for auth or issues session
Responses

200

/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 ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10 ```?search={profilename}``` If search is non empty then a greedy search is performed
Responses

200 - Returns all the performance profiles

Name Format Type
profiles Object array
total_count uint64 integer
page uint64 integer
page_size uint64 integer

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

Name Format Type
schedule uuid string
service_mesh Object string
total_results int64 integer
concurrent_request int64 integer
content_type Object string
endpoints Object array
metadata Object object
id uuid string
load_generators Object array
request_headers Object string
duration Object string
last_run Object string
qps int64 integer
updated_at Object string
created_at Object string
name Object string
request_body Object string
request_cookies Object string

/api/user/performance/profiles/results

GET Handles GET requests for performance results

Description
# Results can be further filtered through query parameter ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10 ```?search={}``` If search is non empty then a greedy search is performed ```?from={date}``` Date must be in yyyy-mm-dd format ```?to={date}``` Date must be in yyyy-mm-dd format
Responses

200 - Returns all performance results

Name Format Type
total_count uint64 integer
page uint64 integer
page_size uint64 integer
results Object array

/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

Name Format Type
load_generators Object array
qps int64 integer
request_cookies Object string
created_at Object string
id uuid string
metadata Object object
request_body Object string
request_headers Object string
total_results int64 integer
concurrent_request int64 integer
content_type Object string
name Object string
last_run Object string
schedule uuid string
service_mesh Object string
updated_at Object string
duration Object string
endpoints Object array

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/user/performance/profiles/{id}/results

GET Handle GET request for results of a profile

Description
Fetches pages of results from provider for the given id ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10 ```?search={result_name|mesh|url}``` If search is non empty then a greedy search is performed
Parameters
Name Located in Description Type
id path id for a specific String
Responses

200 - Returns all performance results

Name Format Type
page uint64 integer
page_size uint64 integer
results Object array
total_count uint64 integer

/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 PerformanceTestParameters contains parameters to run a performance test Object
Responses

200

/api/user/prefs

GET Handle GET Requests for User Load Test Preferences

Description
Returns User Load Test Preferences
Responses

200 - Returns User Load Test Preferencee

Name Format Type
updated_at date-time string
usersExtensionPreferences Object object
grafana Object object
loadTestPrefs Object object
meshAdapters Object array
prometheus Object object
remoteProviderPreferences Object object
anonymousPerfResults Object boolean
anonymousUsageStats Object boolean

POST Handle POST Requests for User Load Test Preferences

Description
Updates User Load Test Preferences
Responses

200 - Returns User Load Test Preferencee

Name Format Type
remoteProviderPreferences Object object
anonymousUsageStats Object boolean
grafana Object object
meshAdapters Object array
prometheus Object object
anonymousPerfResults Object boolean
loadTestPrefs Object object
updated_at date-time string
usersExtensionPreferences Object object

/api/user/prefs/perf

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

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

Name Format Type
labels Object object
name Object string
smp_version Object string
clients Object array
duration Object string
id Object string

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

/api/user/profile/{id}

GET Handle GET for User info by ID

Description
Returns User info
Responses

200 - Returns user info

Name Format Type
last_name Object string
role_names Object array
string Object string
avatar_url Object string
id Object string
first_name Object string
provider Object string
user_id Object string
bio Object string
email Object string

/api/user/schedules

GET Handle GET request for Schedules

Description
# Returns the list of all the schedules saved by the current user ```?order={field}``` orders on the passed field ```?page={page-number}``` Default page number is 0 ```?pagesize={pagesize}``` Default pagesize is 10
Responses

200 - Returns List of saved schedules

Name Format Type
total_count uint64 integer
page uint64 integer
page_size uint64 integer
schedules Object array

POST Handle POST request for Schedules

Description
Save schedule using the current provider's persistence mechanism
Responses

200 - Returns a single schedules

Name Format Type
cron_expression Object string
id uuid string

/api/user/schedules/{id}

GET Handle GET request 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

Name Format Type
cron_expression Object string
id uuid string

DELETE Handle DELETE request 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

Name Format Type
schedules Object array
total_count uint64 integer
page uint64 integer
page_size uint64 integer

/api/user/token

POST Handle POST request for tokens

Description
Receives token from the actual provider
Responses

200 - Returns an API token from the current Provider

GET Handle GET request for tokens

Description
Returns API token from the Provider in a file. There are two ways to get your authentication token: - ```Meshery UI``` - ```Meshery CLI```
Responses

200 - Generates a auth.json file

Name Format Type
meshery-provider Object string
token Object string

/api/v2/events

GET Handle GET request for events.

Description
```search={description}``` If search is non empty then a search is performed on event description ```?category=[eventcategory] Returns event belonging to provided categories ``` ```?action=[eventaction] Returns events belonging to provided actions ``` ```?status={[read/unread]}``` Return events filtered on event status Default is unread```` ```?severity=[eventseverity] Returns events belonging to provided severities ``` ```?sort={field} order the records based on passed field, defaults to updated_at``` ```?order={[asc/desc]}``` Default behavior is desc ```?page={page-number}``` Default page number is 1 ```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all```
Responses

200 - Returns all events

Name Format Type
total_count int64 integer
count_by_severity_level Object array
events Object array
page int64 integer
page_size int64 integer

/provider

GET Handle GET request to provider UI

Description
Servers providers UI
Responses

200