|
58 | 58 | <div class="col-md-12"><a href="https://dbhub.io"><h1>DBHub API (in early development)</h1></a></div>
|
59 | 59 | </div>
|
60 | 60 | <div class="row">
|
61 |
| - <div class="col-md-12 version">API version 0.2, last modified 2023-03-20</div> |
| 61 | + <div class="col-md-12 version">API version 0.2, last modified 2023-03-22</div> |
62 | 62 | </div>
|
63 | 63 | <div class="panel panel-primary" id="note">
|
64 | 64 | <div class="panel-heading heading">Note</div>
|
|
98 | 98 | <li class="list-group-item"><a href="#delete" class="apiheading">Delete</a> - Deletes a database from the requesting users account</li>
|
99 | 99 | <li class="list-group-item"><a href="#diff" class="apiheading">Diff</a> - Generates a diff between two databases or two versions of a database</li>
|
100 | 100 | <li class="list-group-item"><a href="#download" class="apiheading">Download</a> - Returns the requested SQLite database file</li>
|
| 101 | + <li class="list-group-item" style="color: #a01e1a"><a href="#execute" class="apiheading" style="color: #a01e1a">Execute</a> - Executes a SQLite statement on a LIVE database <span style="font-style: italic">(new in version 0.2)</span> - <span style="font-weight: bold">EXPERIMENTAL ONLY</span></li> |
101 | 102 | <li class="list-group-item"><a href="#indexes" class="apiheading">Indexes</a> - Returns the details of all indexes in a SQLite database</li>
|
102 | 103 | <li class="list-group-item"><a href="#metadata" class="apiheading">Metadata</a> - Returns the commit, branch, release, tag and web page information for a database</li>
|
103 |
| - <li class="list-group-item"><a href="#query" class="apiheading">Query</a> - Run a SQLite query on a database</li> |
| 104 | + <li class="list-group-item"><a href="#query" class="apiheading">Query</a> - Runs a SQLite SELECT query on a database</li> |
104 | 105 | <li class="list-group-item"><a href="#releases" class="apiheading">Releases</a> - Returns the details of all releases for a database</li>
|
105 | 106 | <li class="list-group-item"><a href="#tables" class="apiheading">Tables</a> - Returns the list of tables in a SQLite database</li>
|
106 | 107 | <li class="list-group-item"><a href="#tags" class="apiheading">Tags</a> - Returns the details of all tags for a database</li>
|
|
810 | 811 | </div>
|
811 | 812 | </div>
|
812 | 813 |
|
| 814 | + <!-- Execute --> |
| 815 | + <div class="panel panel-default" id="execute"> |
| 816 | + <div class="panel-heading heading" style="color: #a01e1a;"><span style="font-size: x-large;">Execute</span> (new in version 0.2)</div> |
| 817 | + <div class="panel-body"> |
| 818 | + <div class="row"> |
| 819 | + <div class="col-md-11 heading" style="color: #a01e1a; padding-bottom: 10px;">This function is EXPERIMENTAL, and may change</div> |
| 820 | + <div class="col-md-1"> </div> |
| 821 | + </div> |
| 822 | + <div class="row"> |
| 823 | + <div class="col-md-2 heading">URL</div> |
| 824 | + <div class="col-md-10 heading">Description</div> |
| 825 | + </div> |
| 826 | + <div class="row indent"> |
| 827 | + <div class="col-md-2"><a href="/v1/execute">/v1/execute</a></div> |
| 828 | + <div class="col-md-10">Executes a SQLite statement on a LIVE database. eg INSERT, UPDATE, DELETE</div> |
| 829 | + </div> |
| 830 | + <div class="row"> |
| 831 | + <div class="col-md-2 heading pad">Parameters (POST)</div> |
| 832 | + <div class="col-md-10"></div> |
| 833 | + </div> |
| 834 | + <div class="row indent"> |
| 835 | + <div class="col-md-2 paramname">apikey</div> |
| 836 | + <div class="col-md-10">Your API key. These can be generated in your <a href="https://[[ .ServerName ]]/pref">Settings</a> page, when logged in</div> |
| 837 | + </div> |
| 838 | + <div class="row indent"> |
| 839 | + <div class="col-md-2 paramname">dbowner</div> |
| 840 | + <div class="col-md-10">The owner of the database</div> |
| 841 | + </div> |
| 842 | + <div class="row indent"> |
| 843 | + <div class="col-md-2 paramname">dbname</div> |
| 844 | + <div class="col-md-10">The name of the database</div> |
| 845 | + </div> |
| 846 | + <div class="row indent"> |
| 847 | + <div class="col-md-2 paramname">sql</div> |
| 848 | + <div class="col-md-10">The SQL query, <span style="font-weight: bold;">Base64</span> encoded</div> |
| 849 | + </div> |
| 850 | + <div class="row"> |
| 851 | + <div class="col-md-2 heading pad">Return values (JSON)</div> |
| 852 | + <div class="col-md-10"></div> |
| 853 | + </div> |
| 854 | + <div class="row returndesc"> |
| 855 | + <div class="col-md-12"> |
| 856 | + On successful execution, the returned JSON will be a simple status name/value pair |
| 857 | + </div> |
| 858 | + </div> |
| 859 | + <div class="row indent returnhdr"> |
| 860 | + <div class="col-md-4">Name</div> |
| 861 | + <div class="col-md-1">Type</div> |
| 862 | + <div class="col-md-7">Description</div> |
| 863 | + </div> |
| 864 | + <div class="row indent"> |
| 865 | + <div class="col-md-4 paramname">status</div> |
| 866 | + <div class="col-md-1 type">string</div> |
| 867 | + <div class="col-md-7">Contains the string "OK" on successful execution</div> |
| 868 | + </div> |
| 869 | + <div class="row"> |
| 870 | + <div class="col-md-12 heading">Example</div> |
| 871 | + </div> |
| 872 | + <div class="row indent"> |
| 873 | + <div class="col-md-12">To execute this statement on <a href="https://dbhub.io/justinclift/Join%20Testing.sqlite">dbhub.io/justinclift/Join Testing.sqlite</a>: |
| 874 | + <pre>UPDATE table1 |
| 875 | +SET Name = 'Testing 1' |
| 876 | +WHERE id = 1</pre> |
| 877 | + Using <a href="https://curl.haxx.se">curl</a>, it would be: |
| 878 | + <pre>$ curl -F apikey="YOUR_API_KEY_HERE" -F dbowner="justinclift" -F dbname="Join Testing.sqlite" \ |
| 879 | + -F sql="VVBEQVRFIHRhYmxlMSBTRVQgTmFtZSA9ICdUZXN0aW5nIDEnIFdIRVJFIGlkID0gMQ==" \ |
| 880 | + https://api.dbhub.io/v1/execute</pre> |
| 881 | + Output: |
| 882 | + <pre>{ |
| 883 | + "status": "OK" |
| 884 | +}</pre> |
| 885 | + <span style="color: darkred; font-size: larger; font-weight: bolder;">Note</span> - This is a newly added EXPERIMENTAL function, that only works with |
| 886 | + LIVE databases. To try it out, <a href="https://dbhub.io/upload/">Upload</a> a new database and |
| 887 | + select the LIVE option under "Advanced". |
| 888 | + </div> |
| 889 | + </div> |
| 890 | + </div> |
| 891 | + </div> |
| 892 | + |
813 | 893 | <!-- Indexes -->
|
814 | 894 | <div class="panel panel-default" id="indexes">
|
815 | 895 | <div class="panel-heading heading" style="font-size: x-large; color: #2e6da4;">Indexes</div>
|
|
1077 | 1157 | </div>
|
1078 | 1158 | <div class="row indent">
|
1079 | 1159 | <div class="col-md-2"><a href="/v1/query">/v1/query</a></div>
|
1080 |
| - <div class="col-md-10">Run a SQLite query on a database</div> |
| 1160 | + <div class="col-md-10">Run a SQLite SELECT query on a database</div> |
1081 | 1161 | </div>
|
1082 | 1162 | <div class="row">
|
1083 | 1163 | <div class="col-md-2 heading pad">Parameters (POST)</div>
|
|
0 commit comments