Back to Meshery

REST API Reference

docs/static/v0.9/reference/rest-apis/index.html

1.0.1862.3 KB
Original Source

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. The type of authentication is determined by the selected Providers. Use of the Local Provider, "None", puts Meshery into single-user mode and uses minimal, intentionally insecure authentication.

What are authentication tokens?

Meshery authentication tokens allow users or systems to authenticate with Meshery Server via either its two clients, Meshery CLI and Meshery UI, or its two APIs: REST or GraphQL.

Meshery’s authentication token system provides secure access to Meshery’s management features.

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 CLI
Using Meshery CLI, you can get a copy of your authentication token by executing the following 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=Layer5; cloud.layer5.io\_ref=/;token=\<yourToken\>

Endpoints

This section contains self-generated documentation derived from Meshery’s OpenAPI specification for its REST APIs.

An alternative overview

See the Meshery API Endpoints spreadsheet for an alternative overview of these endpoints.

Here is a concise list of all REST API endpoints.

  • /api/application
  • /api/application/deploy
  • /api/application/download/{id}/{sourcetype}
  • /api/application/types
  • /api/application/{id}
  • /api/application/{sourcetype}
  • /api/content/design/share
  • /api/content/filter/share
  • /api/environments
  • /api/environments/{environmentID}/connections
  • /api/environments/{environmentID}/connections/{connectionID}
  • /api/environments/{id}
  • /api/events
  • /api/events/bulk
  • /api/events/status
  • /api/events/status/{id}
  • /api/events/types
  • /api/events/{id}
  • /api/filter
  • /api/filter/catalog
  • /api/filter/catalog/publish
  • /api/filter/catalog/unpublish
  • /api/filter/clone/{id}
  • /api/filter/deploy
  • /api/filter/file/{id}
  • /api/filter/{id}
  • /api/identity/orgs
  • /api/identity/users
  • /api/integrations/connections
  • /api/integrations/connections/status
  • /api/integrations/connections/{connectionId}
  • /api/integrations/connections/{connectionKind}
  • /api/meshmodel/components/register
  • /api/meshmodel/generate
  • /api/meshmodel/update/status
  • /api/meshmodel/validate
  • /api/meshmodels/categories
  • /api/meshmodels/categories/{category}
  • /api/meshmodels/categories/{category}/components
  • /api/meshmodels/categories/{category}/components/{name}
  • /api/meshmodels/categories/{category}/models
  • /api/meshmodels/categories/{category}/models/{model}
  • /api/meshmodels/categories/{category}/models/{model}/components
  • /api/meshmodels/categories/{category}/models/{model}/components/{name}
  • /api/meshmodels/components
  • /api/meshmodels/components/{name}
  • /api/meshmodels/export
  • /api/meshmodels/models
  • /api/meshmodels/models/{model}
  • /api/meshmodels/models/{model}/components
  • /api/meshmodels/models/{model}/components/{name}
  • /api/meshmodels/models/{model}/policies/
  • /api/meshmodels/models/{model}/policies/{name}
  • /api/meshmodels/models/{model}/relationships
  • /api/meshmodels/models/{model}/relationships/{name}
  • /api/meshmodels/register
  • /api/meshmodels/registrants
  • /api/meshmodels/relationships
  • /api/meshmodels/relationships/evaluate
  • /api/pattern
  • /api/pattern/catalog
  • /api/pattern/catalog/publish
  • /api/pattern/catalog/unpublish
  • /api/pattern/clone/{id}
  • /api/pattern/deploy
  • /api/pattern/download/{id}
  • /api/pattern/download/{id}/{sourcetype}
  • /api/pattern/import
  • /api/pattern/types
  • /api/pattern/{id}
  • /api/pattern/{sourcetype}
  • /api/patterns
  • /api/perf/profile
  • /api/perf/profile/result
  • /api/perf/profile/result/{id}
  • /api/provider
  • /api/provider/capabilities
  • /api/provider/extension
  • /api/providers
  • /api/schema/resource/{resourceName}
  • /api/smi/results
  • /api/system/adapter/manage
  • /api/system/adapter/operation
  • /api/system/adapters
  • /api/system/adapters/available
  • /api/system/database
  • /api/system/database/reset
  • /api/system/downloadFile
  • /api/system/events
  • /api/system/kubernetes
  • /api/system/kubernetes/contexts
  • /api/system/kubernetes/ping?connection_id={id}
  • /api/system/kubernetes/register
  • /api/system/meshsync/grafana
  • /api/system/meshsync/prometheus
  • /api/system/meshsync/resources
  • /api/system/meshsync/resources/summary
  • /api/system/sync
  • /api/system/version
  • /api/system/viewFile
  • /api/telemetry/metrics/board_import
  • /api/telemetry/metrics/boards/{connectionID}
  • /api/telemetry/metrics/config
  • /api/telemetry/metrics/grafana/boards/{connectionID}
  • /api/telemetry/metrics/grafana/config
  • /api/telemetry/metrics/grafana/ping/{connectionID}
  • /api/telemetry/metrics/grafana/query/{connectionID}
  • /api/telemetry/metrics/grafana/scan
  • /api/telemetry/metrics/ping/{connectionID}
  • /api/telemetry/metrics/query/{connectionID}
  • /api/telemetry/metrics/static-board
  • /api/user/login
  • /api/user/logout
  • /api/user/performance/profiles
  • /api/user/performance/profiles/results
  • /api/user/performance/profiles/{id}
  • /api/user/performance/profiles/{id}/results
  • /api/user/performance/profiles/{id}/run
  • /api/user/prefs
  • /api/user/prefs/perf
  • /api/user/profile/{id}
  • /api/user/schedules
  • /api/user/schedules/{id}
  • /api/user/token
  • /api/v2/events
  • /api/workspaces
  • /api/workspaces/{id}
  • /api/workspaces/{id}/designs
  • /api/workspaces/{id}/designs/{designID}
  • /api/workspaces/{id}/environments
  • /api/workspaces/{id}/environments/{environmentID}
  • /provider

/api/application

GET Handle GET request for Application Files

Description

Fetches the list of all applications saved by the current user ?updated_after=\<timestamp\> timestamp should be of the format "YYYY-MM-DD HH:MM:SS" ?order={field} orders on the passed field ?search=\<application name\> 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-

/api/application/deploy

DELETE Handle DELETE request for Application File Deploy

Description

Delete a deployed application file with the request

Responses

200

POST Handle POST request for Application File Deploy

Description

Deploy an attached application file with the request

Parameters
NameLocated inDescriptionType
Upload Yaml/Yml FileformDataFile
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
NameLocated inDescriptionType
Upload Yaml/Yml FileformDataFile

/api/application/types

GET Handle GET request for Meshery Application types

Description

Get application file types

Responses

200-

/api/application/{id}

DELETE Handle Delete for a Meshery Application File

Description

Deletes a meshery application file with ID: id

Parameters
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

/api/application/{sourcetype}

POST Handle POST request for Application Files

Description

Updates the design for the provided application

Responses

200-

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

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 ?orgID={orgid} orgID is used to retrieve environments belonging to a particular org *required* ?filter={condition}

Responses

200-

POST Handle POST request for creating a new environment

Description

Creates a new environment

Responses

201-

/api/environments/{environmentID}/connections

GET Handle GET for all Connections of Environment

Description

?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={{"assigned": true/false, "deleted_at": true/false}} defaults to assigned: false, deleted_at: false Returns all connections of environment

Responses

200-

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

DELETE Handle DELETE to remove Connection from Environment by ID

Description

Removes connection from environment

Responses

201-

POST Handle POST to add Connection in Environment by ID

Description

Returns Environment connection mapping info

Responses

200-

/api/environments/{id}

DELETE

Description

Handle DELETE for Environment based on ID

Responses

201-

GET Handle GET for Environment info by ID

Description

?orgID={orgid} orgID is used to retrieve environments belonging to a particular org Returns Environment info

Responses

200-

PUT Handle PUT request for updating a environment

Description

Updates a environment

Responses

200-

/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 EventsResponses are pushed.

Responses

200

POST Receives client-generated events bound for the Notification Center.

Description
Responses

200

/api/events/bulk

DELETE Handle DELETE request to delete events in bulk.

Description

Bulk delete events associated with the ids.

Responses

200

/api/events/status

PUT Handle PUT request to update event status in bulk.

Description

Bulk update status for the events associated with the ids.

Responses

200-

/api/events/status/{id}

PUT Handle PUT request to update event status.

Description

Updates event status for the event associated with the id.

Responses

200-

/api/events/types

GET Handle GET request for available event categories and actions.

Description
Responses

200

/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=\<filter name\> 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 + private; Mulitple visibility filters can be passed as an array Eg: ?visibility=["public", "published"] will return public and published filters

Responses

200-

POST Handle POST requests for Meshery Filters

Description

Used to save/update a Meshery Filter

Responses

200-

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

/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

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-

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

/api/filter/{id}

DELETE Handle Delete for a Meshery Filter

Description

Deletes a meshery filter with ID: id

Parameters
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

GET Handle GET request for a Meshery Filter

Description

Fetches the Meshery Filter with the given id

Parameters
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

/api/identity/orgs

GET Handles GET for all Organizations

Description

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

/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
NameLocated inDescriptionType
pagequeryInteger
pageSizequeryInteger
searchqueryString
orderqueryin: orderString
filterqueryin: filterString
Responses

200-

/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 ?filter={filter} Filter connections with type or sub_type, eg /api/integrations/connections?filter=type%20platform or /api/integrations/connections?filter=sub_type%20management ?status={status} Status takes array as param to filter connections based on status, eg /api/integrations/connections?status=["connected", "deleted"] ?kind={kind} Kind takes array as param to filter connections based on kind, eg /api/integrations/connections?kind=["meshery", "kubernetes"]

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-

/api/integrations/connections/{connectionId}

DELETE Handle DELETE request for deleting an existing connection by connection ID

Description

Deletes existing connection

Responses

200-

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

Description

Updates existing connection using ID

Responses

200-

/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/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/update/status

POST Handle POST request for updating the ignore status of a model.

Description

Update the ignore status of a model based on the provided parameters.

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-

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

/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 ?annotations={["true"/"false"/]} If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned.

Responses

200-

/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 ?annotations={["true"/"false"/]} If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned.

Responses

200-

/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 ?annotations={["true"/"false"/]} When this query parameter is "true", only models with the "isAnnotation" property set to true are returned. When this query parameter is "false", all models except those considered to be annotation models are returned. Any other value of the query parameter results in both annoations as well as non-annotation models being returned.

Responses

200-

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

/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 ?annotations={["true"/"false"/]} If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned.

Responses

200-

/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 ?annotations={["true"/"false"/]} If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned.

Responses

200-

/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 ?annotations={["true"/"false"/]} If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned.

Responses

200-

/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 ?annotations={["true"/"false"/]} If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned.

Responses

200-

/api/meshmodels/export

GET Handle GET request for exporting a model.

Description

Export model with the given id in the output format specified ?id={id} ?output_format={output_format} Can be json, yaml, or oci. Default is oci

Responses

200-

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

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

/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 ?annotations={["true"/"false"/]} If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned.

Responses

200-

/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 ?annotations={["true"/"false"/]} If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned. returned.

Responses

200-

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

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

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

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

/api/meshmodels/register

POST Handle POST request for registering entites like components and relationships model.

Description

Register model based on their Schema Version.

Responses

200-

/api/meshmodels/registrants

GET Handle GET request for getting all meshmodel registrants

Description

Returns a list of registrants and summary count of its models, components, and relationships ?page={pagenumber} Default page number is 1 ?order={field} orders on the passed field ?search={Hostname} Gets host by the name ?sort={[asc/desc]} Default behavior is asc ?pagesize={pagesize} Default pagesize is 25. To return all results: pagesize=all

Responses

200-

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

/api/meshmodels/relationships/evaluate

POST

Description

Handle POST request for evaluating relationships in the provided design file by running a set of provided evaluation queries on the design file

/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=\<design name\> A string matching is done on the specified design name ?page={page-number} Default page number is 1 ?pagesize={pagesize} Default pagesize is 10 ?visibility={[visibility]} Default visibility is public + private; Mulitple visibility filters can be passed as an array Eg: ?visibility=["public", "published"] will return public and published designs ?metrics Returns metrics like deployment/share/clone/view/download count for desings, default is false, ?populate Add the design content to the response like pattern_file return design file content 200: mesheryPatternsResponseWrapper

POST Handle POST requests for patterns

Description

Edit/update a meshery pattern

Responses

200-

/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 ?metrics Returns metrics like deployment/share/clone/view/download count for designs, default false, ?class={class} Filters patterns based on class ?technology={technology} Filters patterns based on technology ?type={type} Filters patterns based on type ?orgID={orgID} Filters patterns based on organization ID ?workspaceID={workspaceID} Filter patterns based on workspace ID ?userid={userid} Filters patterns based on user ID

Responses

200-

/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

DELETE Handle DELETE request for Pattern Deploy

Description

Delete a deployed pattern with the request

Responses

200

POST Handle POST request for Pattern Deploy

Description

Deploy an attached pattern with the request

Parameters
NameLocated inDescriptionType
Upload Yaml/Yml FileformDataFile
Responses

200

/api/pattern/download/{id}

GET Handle GET for a Meshery Pattern

Description

?metrics Returns metrics like deployment/share/clone/view/download count for desings, default false, Fetches the pattern with the given id

Parameters
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

/api/pattern/download/{id}/{sourcetype}

GET Handle GET request for Meshery Patterns with of source content

Description

Get the pattern source-content

Responses

200-

/api/pattern/import

POST

Description

Handle design import

Responses

200-

/api/pattern/types

GET Handle GET request for Meshery Pattern types

Description

Get pattern file types

Responses

200-

/api/pattern/{id}

DELETE Handle Delete for multiple Meshery Patterns

Description

DeleteMultiMesheryPatternsHandler deletes patterns with the given ids

Parameters
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

GET Handle GET for a Meshery Pattern

Description

?metrics Returns metrics like deployment/share/clone/view/download count for desings, default false, Fetches the pattern with the given id

Parameters
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

/api/pattern/{sourcetype}

POST Handle POST request for Pattern Files

Description

Creates a new Pattern with source-content

Responses

200-

PUT Handle PUT request for Meshery Pattern with the given payload

Description

Updates the pattern with the given payload

Responses

200-

/api/patterns

DELETE Handle Delete for multiple Meshery Patterns

Description

DeleteMultiMesheryPatternsHandler deletes patterns with the given ids

Parameters
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

/api/perf/profile

GET Handle GET request to run a test

Description

Runs the load test with the given parameters

Parameters
NameLocated inDescriptionType
QueryqueryUnknown
BodybodyUnknown
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-

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

GET Handles GET requests for perf result

Description

Returns an individual result from provider

Responses

200-

/api/provider

GET Handle GET request for the choice of provider

Description

Update the choice of provider in system

Parameters
NameLocated inDescriptionType
providerqueryString
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-

/api/schema/resource/{resourceName}

GET Handles the request to retrieve and merge resource JSON schema and UI schema.

Description

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

/api/system/adapter/manage

DELETE Handle DELETE requests to delete adapter config

Description

Used to delete adapter configuration

Parameters
NameLocated inDescriptionType
adapterqueryString
Responses

200

POST Handle POST requests to persist adapter config

Description

Used to persist adapter config

Parameters
NameLocated inDescriptionType
meshLocationURLbodyUnknown
Responses

200-

/api/system/adapter/operation

POST Handle POST requests for Adapter Operations

Description

Used to send operations to the adapters

Parameters
NameLocated inDescriptionType
adapterqueryString
queryqueryString
customBodyqueryString
namespacequeryString
deleteOpqueryString
Responses

200

/api/system/adapters

GET Handle GET request for adapters

Description

Fetches and returns all the adapters and ping adapters

Parameters
NameLocated inDescriptionType
adapterqueryString
Responses

200-

/api/system/adapters/available

GET Handle GET request for available adapters

Description

Fetches and returns all the adapters available for deployment

Responses

200-

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

/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

200

500

/api/system/downloadFile

GET Handles GET request to download a file.

Description

Retrieves and initiates a download for the specified file.

Responses

200

500

/api/system/events

GET Get current logging configuration for the server events

Description

Retrieves the current server log level and lists all available log levels.

Responses

200- Successfully retrieved log level

POST Set server event logging level

Description

Updates the server's logging level. The new level must be one of the available logging levels. Invalid log levels will result in a 400 Bad Request response.

Responses

200- Successfully updated log level

400- Invalid log level provided

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

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

POST Handle POST requests for Kubernetes Context list

Description

Returns the context list for a given k8s config

Responses

200-

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

/api/system/meshsync/prometheus

GET Handle GET request for fetching prometheus

Description

Fetches Prometheus

Responses

200-

/api/system/meshsync/resources

GET Handle GET request for meshsync discovered resources

Description

?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 ?annotation={annotaion} annotation is a boolean value. If true then annotations are returned ?labels={labels} labels is a boolean value. If true then labels are returned ?spec={spec} spec is a boolean value. If true then spec is returned ?status={status} status is a boolean value. If true then status is returned ?clusterId={[clusterId]} clusterId is array of string values. Required. ?asDesign={bool} asDesign is a boolean value. If true then the response is returned as a design and resources are omitted

Responses

200-

/api/system/meshsync/resources/summary

GET Handle GET request for meshsync discovered resources

Description

?clusterId={clusterId} clusterId is id of the cluster to get resources for ( multiple supported)

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-

/api/system/version

GET Handle GET request for system/server version

Description

Returns the running Meshery version

Responses

200-

/api/system/viewFile

GET Handles GET request to view a file.

Description

Retrieves and displays the content of the specified file as plain text.

Responses

200

500

/api/telemetry/metrics/board_import

POST Handle POST request for Prometheus board import

Description

Used for importing Grafana board for Prometheus

Responses

200-

/api/telemetry/metrics/boards/{connectionID}

POST Handle POST request for Prometheus board

Description

Used to persist selected board and panels

Parameters
NameLocated inDescriptionType
BodybodyUnknown
Responses

200

/api/telemetry/metrics/config

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-

POST Handle POST for Prometheus configuration

Description

Used for persisting Prometheus configuration

Parameters
NameLocated inDescriptionType
prometheusURLbodyUnknown
Responses

200

/api/telemetry/metrics/grafana/boards/{connectionID}

GET Handle GET request for Grafana boards

Description

Used for fetching Grafana boards and panels

Parameters
NameLocated inDescriptionType
dashboardSearchqueryString
Responses

200-

POST Handle POST request for Grafana boards

Description

Used for persist Grafana boards and panel selections

Responses

200

/api/telemetry/metrics/grafana/config

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-

POST Handle POST request for Grafana configuration

Description

Used for persisting Grafana configuration

Parameters
NameLocated inDescriptionType
BodybodyUnknown
Responses

200

/api/telemetry/metrics/grafana/ping/{connectionID}

GET Handle GET request for Grafana ping

Description

Used to initiate a Grafana ping

Responses

200

/api/telemetry/metrics/grafana/query/{connectionID}

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-

/api/telemetry/metrics/ping/{connectionID}

GET Handle GET request for Prometheus Ping

Description

Used to ping prometheus

Responses

200

/api/telemetry/metrics/query/{connectionID}

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-

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

POST Handle POST requests for saving performance profile

Description

Save performance profile using the current provider's persistence mechanism

Parameters
NameLocated inDescriptionType
BodybodyUnknown
Responses

200-

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

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

DELETE Handle Delete requests for performance profiles

Description

Deletes a performance profile with the given id

Parameters
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

GET Handle GET requests for performance results of a profile

Description

Returns single performance profile with the given id

Parameters
NameLocated inDescriptionType
idpathid for a specificString
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
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

/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
NameLocated inDescriptionType
BodyqueryUnknown
Responses

200

/api/user/prefs

GET Handle GET Requests for User Load Test Preferences

Description

Returns User Load Test Preferences

Responses

200-

POST Handle POST Requests for User Load Test Preferences

Description

Updates User Load Test Preferences

Responses

200-

/api/user/prefs/perf

DELETE Handle DELETE request for load test preferences

Description

Used for deleting load test preferences

Parameters
NameLocated inDescriptionType
uuidqueryString
Responses

200

GET Handle GET request for load test preferences

Description

Used for fetching load test preferences

Parameters
NameLocated inDescriptionType
uuidqueryString
Responses

200-

POST Handle POST request for load test preferences

Description

Used for persisting load test preferences

Parameters
NameLocated inDescriptionType
BodybodyUnknown
Responses

200

/api/user/profile/{id}

GET Handle GET for User info by ID

Description

Returns User info

Responses

200-

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

POST Handle POST request for Schedules

Description

Save schedule using the current provider's persistence mechanism

Responses

200-

/api/user/schedules/{id}

DELETE Handle DELETE request for Schedules

Description

Deletes a schedule with the given id

Parameters
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

GET Handle GET request for Schedules

Description

Fetches and returns the schedule with the given id

Parameters
NameLocated inDescriptionType
idpathid for a specificString
Responses

200-

/api/user/token

GET Handle GET request for tokens

Description

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

POST Handle POST request for tokens

Description

Receives token from the actual provider response: 200:

/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 0 ?pagesize={pagesize} Default pagesize is 25. To return all results: pagesize=all

Responses

200-

/api/workspaces

GET Handles GET for all Workspaces

Description

?order={field} orders on the passed field ?page={page-number} Default page number is 0 ?pagesize={pagesize} Default pagesize is 20 ?search={name} If search is non empty then a greedy search is performed ?orgID={orgid} orgID is used to retrieve workspaces belonging to a particular org *required* ?filter={condition}

Responses

200-

POST Handle POST request for creating a new workspace

Description

Creates a new workspace

Responses

201-

/api/workspaces/{id}

DELETE Handle DELETE for Workspace based on ID

Description

Deletes a workspace

Responses

201-

GET Handle GET for Workspace info by ID

Description

?orgID={orgid} orgID is used to retrieve workspaces belonging to a particular org Returns Workspace info

Responses

200-

PUT Handle PUT request for updating a workspace

Description

Updates a workspace

Responses

200-

/api/workspaces/{id}/designs

GET Handles GET for all Meshery Designs in a Workspace

Description

?order={field} orders on the passed field ?page={page-number} Default page number is 0 ?pagesize={pagesize} Default pagesize is 20 ?search={name} If search is non empty then a greedy search is performed ?filter={{"assigned": true/false, "deleted_at": true/false}} defaults to assigned: false, deleted_at: false

Responses

200-

/api/workspaces/{id}/designs/{designID}

DELETE Handle DELETE request for removing a meshery design from a workspace

Description

Removes a meshery design from a workspace

Responses

201-

POST Handle POST request for adding a meshery design to a workspace

Description

Adds a meshery design to a workspace

Responses

201-

/api/workspaces/{id}/environments

GET Handles GET for all Environments in a Workspace

Description

?order={field} orders on the passed field ?page={page-number} Default page number is 0 ?pagesize={pagesize} Default pagesize is 20 ?search={name} If search is non empty then a greedy search is performed ?orgID={orgid} orgID is used to retrieve workspaces belonging to a particular org *required* ?filter={{"assigned": true/false, "deleted_at": true/false}} defaults to assigned: false, deleted_at: false

Responses

200-

/api/workspaces/{id}/environments/{environmentID}

DELETE Handle DELETE request for removing an environment from a workspace

Description

Removes an environment from a workspace

Responses

201-

POST Handle POST request for adding an environment to a workspace

Description

Adds an environment to a workspace

Responses

201-

/provider

GET Handle GET request to provider UI

Description

Servers providers UI

Responses

200

[ Previous

GraphQL API ](/v0.9/reference/graphql-apis)[ Next

Security Vulnerabilities ](/v0.9/project/security-vulnerabilities)