aboutsummaryrefslogtreecommitdiff
path: root/app/flatpages/help/api.md
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2019-11-22 14:33:22 +0000
committerrubenwardy <rw@rubenwardy.com>2019-11-27 01:06:58 +0000
commit4ce388c8aa5d5502408609983535a9812d41d6d1 (patch)
tree5ad9123949ca2068dfe975284d0f1b3acdf5b437 /app/flatpages/help/api.md
parentcb5451fe5d49e0eda379e3cd636c54e8ea1a3f8e (diff)
downloadcheatdb-4ce388c8aa5d5502408609983535a9812d41d6d1.tar.xz
Add API Token creation
Diffstat (limited to 'app/flatpages/help/api.md')
-rw-r--r--app/flatpages/help/api.md51
1 files changed, 51 insertions, 0 deletions
diff --git a/app/flatpages/help/api.md b/app/flatpages/help/api.md
new file mode 100644
index 0000000..95e23d2
--- /dev/null
+++ b/app/flatpages/help/api.md
@@ -0,0 +1,51 @@
+title: API
+
+## Authentication
+
+Not all endpoints require authentication.
+Authentication is done using Bearer tokens:
+
+ Authorization: Bearer YOURTOKEN
+
+You can use the `/api/whoami` to check authentication.
+
+## Endpoints
+
+### Misc
+
+* GET `/api/whoami/` - Json dictionary with the following keys:
+ * `is_authenticated` - True on successful API authentication
+ * `username` - Username of the user authenticated as, null otherwise.
+ * 403 will be thrown on unsupported authentication type, invalid access token, or other errors.
+
+### Packages
+
+* GET `/api/packages/` - See [Package Queries](#package-queries)
+* GET `/api/packages/<username>/<name>/`
+
+### Topics
+
+* GET `/api/topics/` - Supports [Package Queries](#package-queries), and the following two options:
+ * `show_added` - Show topics which exist as packages, default true.
+ * `show_discarded` - Show topics which have been marked as outdated, default false.
+
+### Minetest
+
+* GET `/api/minetest_versions/`
+
+
+## Package Queries
+
+Example:
+
+ /api/packages/?type=mod&type=game&q=mobs+fun&hide=nonfree&hide=gore
+
+Supported query parameters:
+
+* `type` - Package types (`mod`, `game`, `txp`).
+* `q` - Query string
+* `random` - When present, enable random ordering and ignore `sort`.
+* `hide` - Hide content based on [Content Flags](content_flags).
+* `sort` - Sort by (`name`, `views`, `date`, `score`).
+* `order` - Sort ascending (`Asc`) or descending (`desc`).
+* `protocol_version` - Only show packages supported by this Minetest protocol version.