A | B | C | D | Q | |
---|---|---|---|---|---|
1 | Implemented | In-progress / work to be done | |||
2 | API Design Principles | 1) POST is for creating and updating a resource. 2) Prefer plural nouns for resource naming. 3) PUT for update, and sub-resources for non-CRUD verbs; e.g. publish, generate, validate, import, download, watch, share.... 4) Use kebeb-case (if two-word endpoints are actually necessary). 5) /api is not listed in the endpoints below, but is implied. 6) Bulk deletes are to be done using the POST request, because delete requests shouldn't have body acc to REST principles. 7) HTTP response codes 200 -> request succeeded 201 -> creation succeeded 202 -> request received and async operation 204 -> request succeeded and no response body 8) APIs are named based on resources; resources are to be grouped. | This spreadsheet uses conditional formatting to colorize cells. | ||
3 | Category | Sub-Category | Current Endpoint | Description | |
4 | Cloud Relay | ||||
5 | /swagger.yaml | returns the swagger.yaml file from file system | |||
6 | Identity | Providers, Extensions | /api/provider | Process user's selection of a provider (i.e. from Provider UI) | |
7 | /api/providers | Returns the list of the available providers and its metadata | |||
8 | /api/provider/extension | Load Extension Package | |||
9 | /provider | Serves the provider UI; returns html for display and interaction. | |||
10 | /provider/extension/server/{path} | Serves react components from the provider package | |||
11 | /provider/extension/{asset-path} | Serves static assets from the package | |||
12 | /api/provider/capabilities | Returns the capabilities.json of the provider | |||
13 | /api/extension | Returns js file for extension | |||
14 | User | /api/user | Returns the userID, avatarURL, firstname, lastname, email, bio | ||
15 | /api/identity/users | Returns list of all users from remote provider | |||
16 | /api/identity/users/keys | Returns list of keys of all users from remote provide | |||
17 | /api/user/prefs | Returns the preferences for grafana, prometheus, adapters, loadtest, extension | |||
18 | /auth/login | Redirects to /provider | |||
19 | /user/login | Redirects user for auth or issues session | |||
20 | /user/logout | Destroys the session and redirects to provider UI | |||
21 | /api/token | Returns the auth token and the provider type | |||
22 | /api/user/token | Returns token from the actual provider in a file Receives token from the actual provider | |||
23 | /api/user/schedules/{id} | Returns the schedules with the given id Deletes the schedule with given id | |||
24 | /api/user/schedules | Returns the list of all the schedules saved by the current user Persisting the passed schedules | |||
25 | /api/user/prefs/perf | Persisting load test preferences | |||
26 | Organization | api/identity/orgs | Get All orgs | ||
27 | Benchmarking and Validation | Performance (SMP) | /api/perf/profile | Runs the load test with the given parameters | |
28 | /api/perf/profile | Runs the load test with the given parameters and SMP | |||
29 | /api/user/prefs/perf | User's performance preferences | |||
30 | /api/perf/profile/result | Returns pages of all the perf results from Remote Provider | |||
31 | /api/perf/profile/result/{id} | Get results based on search and page size | |||
32 | /api/perf/profile/result | fetchs pages of results from Remote Provider and presents it to the UI | |||
33 | /api/mesh | List of all service meshes for SMP | |||
34 | /user/performance/profiles | Returns a list of all performance profiles saved by the current user | |||
35 | /user/performance/profiles/results | Returns the list of all the performance profile results | |||
36 | /user/performance/profiles/{id}results | Returns the results for performance profile with the given id | |||
37 | Conformance (SMI) | /api/smi/results/{id} | Get SMI results based on id | ||
38 | /api/smi/results | Get SMI results based on search and page size from the provider | |||
39 | Telemetry | Grafana API | /api/telemetry/metrics/grafana/config | persists or removes graphana configuration | |
40 | /api/telemetry/metrics/grafana/boards | fetches grafana boards and panels | |||
41 | /api/telemetry/metrics/grafana/query | handles grafana queries | |||
42 | /grafana/query_range | handles grafana range queries | |||
43 | /api/telemetry/metrics/grafana/ping | initiates a grafana ping | |||
44 | /api/telemetry/metrics/grafana/scan | fetches grafana details such as status, metadata, and spec | |||
45 | Prometheus API | /api/telemetry/metrics/config | persists prometheus configuration | ||
46 | /api/telemetry/metrics/board_import | accepts a Grafana board json, parses it and returns the list of panels | |||
47 | /api/telemetry/metrics/query | handles prometheus queries | |||
48 | /prometheus/query_range | handles prometheus range queries | |||
49 | /api/telemetry/metrics/ping | fetches server version to simulate ping | |||
50 | /api/telemetry/metrics/static-board | returns the static board | |||
51 | /api/telemetry/metrics/boards | persists selected boards and panels | |||
52 | Configuration | Patterns | /api/pattern/deploy | handles deployment of the services specified in the pattern POST=>DEPLOY DELETE=>UNDEPLOY | _ |
53 | /api/pattern | handle GET and POST requests for patterns | GetMesheryPatterns (/api/content/patterns) / SaveMesheryPattern (/api/content/patterns) | ||
54 | /api/pattern/catalog/unpublish | handle DELETE request to unpublish catalog pattern | UnPublishCatalogPattern (api/catalog/content/:type/) | ||
55 | /api/pattern/catalog/publish | handle POST request to publish a catalog pattern | PublishCatalogPattern (/api/catalog/content/:type/) | ||
56 | /api/pattern/import | handle POST request to import a catalog pattern | DesignFileImportHandler | ||
57 | /api/pattern/clone/{id} | handle POST and Creates a local copy of a public pattern with id: id | CloneMesheryPattern (api/content/patterns/clone/:id) | ||
58 | /api/pattern/download/{id}/{sourcetype} | handle GET request to get source type of Pattern | SaveMesheryPatternSourceContent ( api/content/patterns/download/:id ) | ||
59 | /api/pattern/download/{id} | downloads the patternfile | DownloadMesheryPatternHandler | ||
60 | /api/pattern/catalog | Used to GET catalog patterns | GetCatalogMesheryPatterns (/api/catalog/content/:type) | ||
61 | api/pattern/{sourcetype} | Handle PUT and POST request | SaveMesheryPattern (/api/content/patterns) | ||
62 | /api/pattern/{id} | Handle GET and Delete request to read and delete pattern | GetMesheryPattern (/api/content/patterns/:id) / DeleteMesheryPatternHandler ( api/content/patterns/:id) | ||
63 | /api/oam/workload | GET and POST on OAM workloads | _ | ||
64 | /api/patterns/delete | Deletes multiple patterns at once, takes {id: patternId, name: PatternName} as the POST request body to delete multiple patterns. | DeleteMesheryPatterns ( api/content/patterns ) | ||
65 | Fitlers | /api/filter | Get details of all filters (GET). Create a new filter (POST) with import functionality involved. To update details of an existing filter (POST) with filter id. | ||
66 | /api/filter/catalog | Used to GET catalog filters | |||
67 | /api/experimental/filter/{id} | Get details of a specific filter (GET). | |||
68 | Application | /api/application/deploy | handles deployment of the application POST=>DEPLOY DELETE=>UNDEPLOY | ||
69 | /api/application/{sourcetype} | Updates the design for given application(PUT), Creates a new application with source-content(POST) | |||
70 | /api/application | Fetches the list of all applications saved by the current user | |||
71 | /api/application/{id} | meshery's component manifest | |||
72 | /api/application/types | Get application file type | |||
73 | /api/application/download/{id} | Get the design file for the application | |||
74 | /api/application/download/{id}/{sourcetype} | Get the application source-content | |||
75 | Meshery Server and Components | Meshery Operator | /api/system/graphql/query | GraphQL server Endpoint | |
76 | /system/operator/status | deprecated | |||
77 | /system/operator | deprecated | |||
78 | Database | /system/database/reset | Copy existing local db file at some other place. Create new db file in .meshery/config folder | ||
79 | /system/database | GET returns summary: list of table names and number of records for each table | |||
80 | Connections | /api/system/kubernetes/ping | GET pings and Fetches kubernetes server version to simulate ping | ||
81 | /api/system/kubernetes/contexts/{id} | GETS or DELETEs a particular k8s context | |||
82 | /api/system/kubernetes/contexts | GETS all kubernetes contexts POST Returns the context list for a given k8s config | |||
83 | /api/system/kubernetes | POST uploads kubernetes config | |||
84 | /api/system/meshsync/prometheus | GET request for fetching prometheus | |||
85 | /api/system/meshsync/grafana | GET request for mesh-sync grafana | |||
86 | /api/integrations/connections/{connectionKind} | GET request for connections by {connectionKind} | |||
87 | /api/integrations/connections | GET request for connections | |||
88 | System | /api/events | Used for streaming events to the frontend | ||
89 | /api/v2/events | Send UI Generated Events | |||
90 | /api/system/events/{id} | DELETE Event associated with the id. | |||
91 | /api/system/events/bulk | DELETE Bulk events associated with the ids. | |||
92 | /api/system/events/status/{id} | PUT Updates event status for the event associated with the id. | |||
93 | /api/system/events/status/bulk | PUT Bulk update status for the events associated with the ids. | |||
94 | /api/system/events/types | GET Available event categories and actions. | |||
95 | /api/system/events/config | PUT Event related configuration (ex: log level) | |||
96 | /api/system/events/config | GET Event related configuration (ex: log level) | |||
97 | /api/system/events | GET All events | |||
98 | /api/system/events | POST UI generated events to the server | |||
99 | /api/extension/version | Returns the version of extension | |||
100 | /api/system/version | Returns the version of the meshery server and its metadata |