This is about DEDS and how it works.

All the commands are called like yourserver.name:port/command/name/

appkey and iiskey are set in header as DE_APPKEY and DE_SERVERKEY on request

If data needs to be sent, a json string is sendt using POST to the server. All of this is done for you in the Python library for using DEDS that follows DG3 and deserver.

Command Which How it works
appfiles appname This command are used to collect all files that are part of the web application and not a part of a DataEase application.
For a DG3 app that is all files except for those found in Data in the app folder or the repository if Data not in the application folder.
A excludepaths list are sent with the request to tell what folders not to include in the list of files. This is set direct into the deployed definition.
Security: need serverkey and repokey
apphash appname The server is supplied with a list of files we want hashes for i a array  named file list.
Security: need serverkey and repokey
dbdefs appname Get the table definition of the remote DataEase app. This will later be used to patch db that are not owned by developer.
Security: need serverkey and repokey
dbexist appname Check if database for named configuration exist on server.
Security None
dbappfiles appname Get a list of all files that is not data files for tables or indexes. To accommodate separate development of more than one application for server, we exclude directories that are used by each server definition. For now that is static. A file list is also added but that is empty at the moment. For server application the static folder will be the appfiles and updated by that process.
Security: need serverkey and repokey
dbapphash appname Get a list of files and calculates a hash for each file
Security: need serverkey and repokey
dbappdatafilescheck appname Check if files in DataEase app that not are data files need to be replaced.
Security: need serverkey and repokey
dbinstall appname Check if there are any job to be done on the DataEase repository at definition level. If there are jobs update the table definitions.
Security: need serverkey and repokey
dbappinstall appname This takes all files that not are data like frm and images, or dql scripts and copy them in. It also patches up tables that are owned by the developer like Relations, Application Objects, $DeARDL_Registry$, $$DQLStore$$ and Webserver.
Security: need serverkey and repokey
dbupdatereposettings appname
scheduledefs appname Get the definitions on scheduled DG3 services. Uses com commands to read the defined schedules. Schedules have a prefix on the server DG3DS_[dname]_[localname]
Security: need serverkey and repokey
schedulecheck appname Check if the scheduled DG3 task in Windows task scheduler is installed. Always return needs update in this version.
Security: need serverkey and repokey
scheduleinstall appname Set up windows task using pythoncom
Security: need serverkey and repokey
searchdefs appname Get a list of installed search definition in DG3. Current version always tell to update.
Security: need serverkey and repokey
searchinstall appname Set up search for DG3 application
Security: need serverkey and repokey
uploadfile appname Upload a file for a named application to a temp area. All data files and data app files are uploaded to temp\Appname\Data
Security None
webappinstall appname Copy all updated applicaton files to the correct places. If we are a DG3 application we also updates the settings.py file in this operation with relevant settings for the app definition.
Security: need serverkey and repokey
webappconfigcreate appname Send the definition you want created and username, password as a json string. A iiskey for that user and the updated settings are returned.
Security login
webappconfigexist appname Test if a config with this name is already there
Security none
webappconfigget appname Send username and password in a json string to the server and get iiskey for that user and settings back.
Security login
webappcreate appname
webappexist appname Ask if the server has a app installed with the given name. Return a json with result "OK" and doexist true.  The test done is to check if drepopath and dappdir existts.
If app exsists json will hold at least {"result" : "OK", "doexist" : true}
if app do not exist json will hold at least {"result" : "OK", "doexist" : false}
webappservicecreate appname If deserver we use the same start script for the app service as the standalone script. If the script is not created we create it. We install that with nssm with the name DES - dname and set appasservice to True. For DG3 this should not be used on IIS any more.
Security: need serverkey and repokey
webappservicecreatescript appname This is the one to call to create the script to start a application. For deserver this is a simple batch file that starts the server with paramters and the script is stored with the config as DES_dname.bat
Security: need serverkey and repokey
webappserviceremove appname If deserver call nssm remove with the service name DES - dname and set appasservice to False For DG3 this should not be used on IIS any more.
Security: need serverkey and repokey
webappsettings appname Can read and write settings from the server on this. A GET is read and return json.  A POST is write and expects a json as data.
Security: To do anything you need a server key. If application do not exist on server, dsversion, webservertype and webappexist false is returned. If there is a app a repokey is needed as well and if you have that you will get the app config with a GET and update it with a POST.
webappstart appname Check if app is deployed as service and if so starts the service. DG3 apps will have service name "DG3 - dname" and deserver will have name "DES - dname". If not a service then check if deserver or not. DG3, will start de django app (not in use for IIS). The deserver will check if startup script is created and create if not, then it will start the script (located in TheDeployed with name DES_dname.bat) and store the pid in settings.
Security: need serverkey and repokey
webappstop appname Check if app is deployed as service and if so stop the service. DG3 apps will have service name "DG3 - dname" and deserver will have name "DES - dname". If not a service then lookup pid stored when started and kill the process with that pid.
Security: need serverkey and repokey
webappstatus appname Return status of all parts of application with appname. The result is returned as json in webappstatus and will differ depending on app type and webserver type. The key webapp and webserver can have value Running and Stopped and can be found in all types. The key webappasprocess will have the value true or false depending on if app is run as service : false and as process : true.
On IIS you have a few extra statues code as follows: website Running. Stopped or New.
If apptype is deserver you will also have the following: webappscrip: Exist or Needed and webservice: Exist, Missing or Standalone
Security: need serverkey and repokey
webserverregenconfig None Regenerate the server configuration on none iis server. IIIS do it for one site at a time.
Security: Need valid master serverkey.
webserverstart None Start the webserver
Security: Need valid serverkey.
webserverstop None Stop the webserver
Security: Need valid serverkey.
webserverreload None Stop and Starts the webserver
Security: Need valid serverkey.
websitecreate appname Create the site with definition and reverse proxy on iIIS for the application.
Security: Need valid serverkey.
websitestart appname For use on IIS, will start the site defined with given name
Security: need serverkey and repokey
websitestop appname For use on IIS will stop the site defined with given name
Security: need serverkey and repokey
websiteupdate appname For use on IIS will update site settings if needed
Security: need serverkey and repokey
_pingapp None Responds with OK
Security: None needed
_whoareyou None Responds with a json with version info
Security: None needed.

To use this you must make sure the DG3 DS have proper rights at the server.name. The webserver commands works with lighttp, (apache, nginx) and IIS (in the works).