Created Editor/Runtime HTTP API (markdown)

Nick O'Leary 2018-03-03 23:33:51 +00:00
parent c574976c32
commit 12c88701f1
1 changed files with 78 additions and 0 deletions

@ -0,0 +1,78 @@
This is a snap-shot of the complete HTTP interface between the editor and runtime.
The Authentication and Runtime API parts are already documented as part of the public API.
| Authentication | |
|--------------------------------------------|----------------------------------------------------------|
| GET /auth/login | Get the active authentication scheme |
| POST /auth/token | Exchange credentials for access token |
| POST /auth/revoke | Revoke an access token |
| Runtime API | |
|--------------------------------------------|----------------------------------------------------------|
| GET /flows | Get the active flow configuration |
| POST /flows | Set the active flow configuration |
| POST /flow | Add a flow to the active configuration |
| GET /flow/:id | Get an individual flow configuration |
| PUT /flow/:id | Update an individual flow configuration |
| DELETE /flow/:id | Delete an individual flow configuration |
| GET /nodes | Get a list of the installed nodes |
| POST /nodes | Install a new node module |
| GET /nodes/:module | Get a node module_s information |
| PUT /nodes/:module | Enable/Disable a node module |
| DELETE /nodes/:module | Remove a node module |
| GET /nodes/:module/:set | Get a node module set information |
| PUT /nodes/:module/:set | Enable/Disable a node set |
| Editor API | |
|--------------------------------------------|----------------------------------------------------------|
| GET / | Get the editor html |
| GET /red/* | Get the main editor js/css/images |
| GET /vendor/* | Get 3rd-party libraries used by the editor |
| GET /settings | Get the runtime settings |
| GET /settings/user | Get the user-specific settings |
| POST /settings/user | Set the user-specific settings |
| GET /settings/user/keys | Get the user_s ssh keys |
| GET /settings/user/keys/:id | Get a public key |
| POST /settings/user/keys | Generate a new key pair |
| DELETE /settings/user/keys/:id | Delete a key pair |
| GET /credentials/:type/:id | Get credentials for a given node |
| GET /locales/nodes | Get message catalogs for all known nodes |
| GET /locales/:module | Get message catalog for a specific node module |
| GET /theme/* | Get custom resources for the editorTheme |
| GET /icons | Get the list of all available node icons |
| GET /icons/:module/:icon | Get a module-provided node icon |
| GET /icons/:icon | Get a node icon from the core set |
| Projects API | |
|--------------------------------------------|----------------------------------------------------------|
| GET /projects | List all projects |
| POST /projects | Create project |
| GET /projects/:id | Get project metadata |
| PUT /projects/:id | Update a project |
| DELETE /projects/:id | Delete project |
| GET /projects/:id/status | Get project status - files, commit counts, branch info |
| GET /projects/:id/files | Project file listing |
| GET /projects/:id/files/:treeish/* | Get file content in a given tree (index/stage) |
| DELETE /projects/:id/files/_/* | Revert a file (delete from the stage tree) |
| POST /projects/:id/stage/* | Stage a file |
| POST /projects/:id/stage | Stage multiple files |
| POST /projects/:id/commit | Commit changes |
| DELETE /projects/:id/stage/* | Unstage a file |
| DELETE /projects/:id/stage | Unstage multiple files |
| GET /projects/:id/diff/:type/* | Get a file diff |
| GET /projects/:id/commits | Get a list of commits |
| GET /projects/:id/commits/:sha | Get an individual commit details |
| POST /projects/:id/push/?* | Push local commits to remote |
| POST /projects/:id/pull/?* | Pull remote commits |
| DELETE /projects/:id/merge | Abort an ongoing merge |
| POST /projects/:id/resolve/* | Resolve a merge |
| GET /projects/:id/branches | Get a list of local branches |
| DELETE /projects/:id/branches/:branchName | Delete a local branch - ?force=true |
| GET /projects/:id/branches/remote | Get a list of remote branches |
| GET /projects/:id/branches/remote/*/status | Get branch status - commit counts/ahead/behind |
| POST /projects/:id/branches | Set the active local branch |
| GET /projects/:id/remotes | Get a list of remotes |
| POST /projects/:id/remotes | Add a remote |
| DELETE /projects/:id/remotes/:remoteName | Delete a remote |
| PUT /projects/:id/remotes/:remoteName | Update a remote |