API
|
Table of Contents
|
Wiki Namespace
GET /wiki
| https://{language}.scuttle.bluesoul.net/api/v1/wiki | |||
|---|---|---|---|
| Wiki Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | wiki | Returns basic metadata about a scuttle wiki. | Domain-based routing (Domain $domain) |
GET /wikis
| https://{language}.scuttle.bluesoul.net/api/v1/wikis | |||
|---|---|---|---|
| Wiki Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | wikis | Returns metadata for all scuttle wikis and domains. | None. |
Page Namespace
GET /page
| https://{language}.scuttle.bluesoul.net/api/v1/page | |||
|---|---|---|---|
| Page Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | page | Get an unsorted manifest of current (active, non-deleted) pages. | Domain-based routing (Domain $domain) |
| Note: This returns the SCUTTLE ID (id) for a page, the slug that is where it can be found by name, and the Wikidot ID (wd_page_id). Any requests in the page namespace that requires an {id} is looking for the SCUTTLE ID, not the Wikidot ID. The Wikidot ID is exposed in case your project needs it. | |||
GET /page/since/{timestamp}
| https://{language}.scuttle.bluesoul.net/api/v1/page/since/{timestamp} | |||
|---|---|---|---|
| Page Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | page/since/{timestamp} | Get an manifest of pages created since the provided timestamp. | Domain-based routing (Domain $domain) |
| Note: This returns the SCUTTLE ID (id) for a page, the slug that is where it can be found by name, and the Wikidot ID (wd_page_id). Any requests in the page namespace that requires an {id} is looking for the SCUTTLE ID, not the Wikidot ID. The Wikidot ID is exposed in case your project needs it. | |||
GET /page/{id}
| https://{language}.scuttle.bluesoul.net/api/v1/page/{id} | |||
|---|---|---|---|
| Page Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | page/{id} | Get detailed information about a specific pag. | SCUTTLE ID (int {id}) |
GET /page/slug/{slug}
| https://{language}.scuttle.bluesoul.net/api/v1/page/slug/{slug} | |||
|---|---|---|---|
| Page Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | page/slug/{slug} | Get detailed information about a specific page, by slug. | Page slug (string {slug}) |
GET /page/{id}/revisions
| https://{language}.scuttle.bluesoul.net/api/v1/page/{id}/revisions | |||
|---|---|---|---|
| Page Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | page/{id}/revisions | Gets detailed info and contents about revisions for a page, paginated. | SCUTTLE ID (int {id}) |
| Note: This does not return the actual content of any revision, just basic info like IDs. Use the POST method at the same location to receive paginated info or a method in the Revision namespace. Also note, the id returned for a revision is the SCUTTLE revision ID, the Wikidot revision ID is named wd_revision_id. | |||
POST /page/{id}/revisions
| https://{language}.scuttle.bluesoul.net/api/v1/page/{id}/revisions | |||
|---|---|---|---|
| Page Namespace | |||
| Method | API Route | Purpose | Vars |
| POST | page/{id}/revisions | Get basic info about all the revisions for a page. | SCUTTLE ID (int {id}), int limit (min 1, max 100, optional (default 20)), int offset (min 0, optional (default 0)), string direction (either asc or desc, optional (default asc)) |
| Note: You do not need to pass along id as a key in the POST, having it present in the URL is sufficient. offset is used to paginate results for pages with many revisions. | |||
GET /page/{id}/votes
| https://{language}.scuttle.bluesoul.net/api/v1/page/{id}/votes | |||
|---|---|---|---|
| Page Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | page/{id}/votes | Gets current votes for a page. | SCUTTLE ID (int {id}) |
| Note: The vote value can be anywhere from -1 to 5, including 0. Some wikis (or even single categories in a single wiki) do 1-5 rating, consider that in your use case. If a vote is placed by a user and later removed, you will see a 0 as the current value of vote. status is 1 for active, 2 for an old vote, 3 for a vote by a deleted account, and 4 for a vote by a nonmember. Status 3 and 4 are not yet implemented. | |||
GET /page/{id}/tags
| https://{language}.scuttle.bluesoul.net/api/v1/page/{id}/tags | |||
|---|---|---|---|
| Page Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | page/{id}/tags | Gets current tags for a page. | SCUTTLE ID (int {id}) |
| Note: The id of child tag objects is the SCUTTLE ID, and is used for operations in the Tag namespace. | |||
GET /page/{id}/files
| https://{language}.scuttle.bluesoul.net/api/v1/page/{id}/files | |||
|---|---|---|---|
| Page Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | page/{id}/files | Gets info about all files for a page. | SCUTTLE ID (int {id}) |
| Note: This will return information on files that are no longer part of the page. Once a file is stored by SCUTTLE, it is not removed. | |||
Revision Namespace
GET /revision/{id}
| https://{language}.scuttle.bluesoul.net/api/v1/revision/{id} | |||
|---|---|---|---|
| Revision Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | revision/{id} | Gets basic information about a single revision. | SCUTTLE Revision ID (int {id}) |
| Note: For the contents of a revision use /revision/{id}/full instead. | |||
GET /revision/{id}/full
| https://{language}.scuttle.bluesoul.net/api/v1/revision/{id}/full | |||
|---|---|---|---|
| Revision Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | revision/{id}/full | Gets all content of a single revision. | SCUTTLE Revision ID (int {id}) |
Forum Namespace
GET /forum
| https://{language}.scuttle.bluesoul.net/api/v1/forum | |||
|---|---|---|---|
| Forum Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | forum | Gets metadata about all forums on a wiki. | None, domain-based routing (Domain $domain) |
| Note: The id field is the SCUTTLE ID for that forum, which will be needed for anything else in the Forum namespace. wd_forum_id is also provided should you want to do anything with the Wikidot side. | |||
GET /forum/{id}
| https://{language}.scuttle.bluesoul.net/api/v1/forum/{id} | |||
|---|---|---|---|
| Forum Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | forum/{id} | Gets metadata about a specific forum on a wiki. | SCUTTLE Forum ID (int $id) |
| Note: This doesn't currently show anything different from the more general /forum call, but if you're only interested in a specific forum you may as well save the bytes. | |||
GET /forum/{id}/threads
| https://{language}.scuttle.bluesoul.net/api/v1/forum/{id}/threads | |||
|---|---|---|---|
| Forum Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | forum/{id}/threads | Provides an unsorted manifest of all threads for a forum. | SCUTTLE Forum ID (int $id) |
| Note: This returns two vars per thread, id and wd_thread_id. This follows typical SCUTTLE behavior, id is the ID you need to use in the Threads namespace. | |||
POST /forum/{id}/since/{timestamp}
| https:{language}.scuttle.bluesoul.net/api/v1/forum/{id}/since/{timestamp} | |||
|---|---|---|---|
| Forum Namespace | |||
| Method | API Route | Purpose | Vars |
| POST | forum/{id}/threads | Provides information about threads in a forum since a specified UNIX timestamp. | SCUTTLE ID (int {id}), int timestamp (required in GET string, not in POST) int limit (min 1, max 100, optional (default 20)), int offset (min 0, optional (default 0)), string direction (either asc or desc, optional (default asc)) |
| Note: timestamp is a UNIX Timestamp in UTC+0. You //can set this to 0 to get information about all threads, but you'll need to work with the paginated results you get. Note this is comparing when a thread was created, not when it was updated. | |||
Thread Namespace
GET /thread/{id}
| https://{language}.scuttle.bluesoul.net/api/v1/thread/{id} | |||
|---|---|---|---|
| Thread Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | thread/{id} | Provides metadata about a thread. | SCUTTLE Thread ID (int $id) |
GET /thread/{id}/posts
| https://{language}.scuttle.bluesoul.net/api/v1/thread/{id}/posts | |||
|---|---|---|---|
| Thread Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | thread/{id}/posts | Provides an unsorted manifest of posts in a thread. | SCUTTLE Thread ID (int $id) |
| Note: This provides the bare minimum you need to establish post relationships within a thread. You'll POST on this same endpoint to get more information or look up single posts in the Post namespace. | |||
POST /thread/{id}/posts
| https://{language}.scuttle.bluesoul.net/api/v1/thread/{id}/posts | |||
|---|---|---|---|
| Thread Namespace | |||
| Method | API Route | Purpose | Vars |
| POST | thread/{id}/posts | Provides a paginated set of posts within a thread. | SCUTTLE ID (int {id}), int limit (min 1, max 100, optional (default 20)), int offset (min 0, optional (default 0)), string direction (either asc or desc, optional (default asc)) |
| Note: Posts are stored as HTML and returned as such. This is due to a lack of ability to see markup either via the Wikidot API or via ajax-module-connector. I am hoping I can also return the markup before the API is finalized, which may necessitate a rename of the columns to markup and html. | |||
POST /thread/{id}/since/{timestamp}
| https:{language}.scuttle.bluesoul.net/api/v1/thread/{id}/since/{timestamp} | |||
|---|---|---|---|
| Thread Namespace | |||
| Method | API Route | Purpose | Vars |
| POST | thread/{id}/since/{timestamp} | Provides information about posts in a thread since a specified UNIX timestamp. | SCUTTLE ID (int {id}), int timestamp (required in GET string, not in POST) int limit (min 1, max 100, optional (default 20)), int offset (min 0, optional (default 0)), string direction (either asc or desc, optional (default asc)) |
| Note: timestamp is a UNIX Timestamp in UTC+0. You //can set this to 0 to get information about all posts in a thread, but you'll need to work with the paginated results you get. Note this is comparing when a post was created, not when it was updated. | |||
Post Namespace
GET /post/{id}
| https://{language}.scuttle.bluesoul.net/api/v1/post/{id} | |||
|---|---|---|---|
| Post Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | post/{id} | Provides a single post. | SCUTTLE Post ID (int $id) |
GET /post/{id}/children
| https://{language}.scuttle.bluesoul.net/api/v1/post/{id}/children | |||
|---|---|---|---|
| Post Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | post/{id}/children | Provides all children of a single post. | SCUTTLE Post ID (int $id) |
| Note: This will return an empty list if there are no children ([]). | |||
GET /post/{id}/parent
| https://{language}.scuttle.bluesoul.net/api/v1/post/{id}/parent | |||
|---|---|---|---|
| Post Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | post/{id}/parent | Provides the parent post of a single post. | SCUTTLE Post ID (int $id) |
| Note: This will return an empty list if there is no parent ([]). | |||
Wikidot User Namespace
GET /wikidotuser/{id}
| https://{language}.scuttle.bluesoul.net/api/v1/wikidotuser/{id} | |||
|---|---|---|---|
| Wikidot User Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | wikidotuser/{id} | Provides info on a single Wikidot User. | Wikidot User ID (int $id) |
GET /wikidotuser/username/{username}
| https://{language}.scuttle.bluesoul.net/api/v1/wikidotuser/username/{username} | |||
|---|---|---|---|
| Wikidot User Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | wikidotuser/username/{username} | Provides info on a single Wikidot User. | Wikidot Username (string $username) |
| Note: This does not search, this is for exact match only. | |||
GET /wikidotuser/{id}/avatar
| https://{language}.scuttle.bluesoul.net/api/v1/wikidotuser/{id}/avatar | |||
|---|---|---|---|
| Wikidot User Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | wikidotuser/{id}/avatar | Provides base64-encoded avatar from SCUTTLE CDN. | Wikidot User ID (int $id) |
GET /wikidotuser/{id}/pages
| https://{language}.scuttle.bluesoul.net/api/v1/wikidotuser/{id}/pages | |||
|---|---|---|---|
| Wikidot User Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | wikidotuser/{id}/pages | Provides unsorted manifest of pages created by a wikidot user. | Wikidot User ID (int $id) |
| Note: Returns [] on a user with no pages created, and an error if the specified user ID doesn't exist in the DB. | |||
POST /wikidotuser/{id}/pages
| https://{language}.scuttle.bluesoul.net/api/v1/wikidotuser/{id}/pages | |||
|---|---|---|---|
| Wikidot User Namespace | |||
| Method | API Route | Purpose | Vars |
| POST | wikidotuser/{id}/pages | Provides paginated detailed page information by a specific user. | Wikidot User ID (int $id), int limit (min 1, max 100, optional (default 20)), int offset (min 0, optional (default 0)), string direction (either asc or desc, optional (default asc)) |
| Note: Returns [] on a user with no pages created, and an error if the specified user ID doesn't exist in the DB. | |||
GET /wikidotuser/{id}/posts
| https://{language}.scuttle.bluesoul.net/api/v1/wikidotuser/{id}/posts | |||
|---|---|---|---|
| Wikidot User Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | wikidotuser/{id}/posts | Provides unsorted manifest of posts created by a wikidot user. | Wikidot User ID (int $id) |
| Note: Returns [] on a user with no posts created, and an error if the specified user ID doesn't exist in the DB. | |||
POST /wikidotuser/{id}/posts
| https://{language}.scuttle.bluesoul.net/api/v1/wikidotuser/{id}/posts | |||
|---|---|---|---|
| Wikidot User Namespace | |||
| Method | API Route | Purpose | Vars |
| POST | wikidotuser/{id}/posts | Provides paginated detailed post information by a specific user. | Wikidot User ID (int $id), int limit (min 1, max 100, optional (default 20)), int offset (min 0, optional (default 0)), string direction (either asc or desc, optional (default asc)) |
| Note: Returns [] on a user with no posts created, and an error if the specified user ID doesn't exist in the DB. | |||
GET /wikidotuser/{id}/revisions
| https://{language}.scuttle.bluesoul.net/api/v1/wikidotuser/{id}/revisions | |||
|---|---|---|---|
| Wikidot User Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | wikidotuser/{id}/revisions | Provides unsorted manifest of revisions created by a wikidot user. | Wikidot User ID (int $id) |
| Note: Returns [] on a user with no revisions created, and an error if the specified user ID doesn't exist in the DB. This one also includes the SCUTTLE ID of the page so you can reference easier. | |||
POST /wikidotuser/{id}/revisions
| https://{language}.scuttle.bluesoul.net/api/v1/wikidotuser/{id}/revisions | |||
|---|---|---|---|
| Wikidot User Namespace | |||
| Method | API Route | Purpose | Vars |
| POST | wikidotuser/{id}/revisions | Provides paginated detailed revision information by a specific user. | Wikidot User ID (int $id), int limit (min 1, max 100, optional (default 20)), int offset (min 0, optional (default 0)), string direction (either asc or desc, optional (default asc)) |
| Note: Returns [] on a user with no posts created, and an error if the specified user ID doesn't exist in the DB. | |||
GET /wikidotuser/{id}/votes
| https://{language}.scuttle.bluesoul.net/api/v1/wikidotuser/{id}/votes | |||
|---|---|---|---|
| Wikidot User Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | wikidotuser/{id}/votes | Provides full vote history for a wikidot user. | Wikidot User ID (int $id) |
| Note: Returns [] on a user with no votes placed, and an error if the specified user ID doesn't exist in the DB. Note id here is a unique ID for the vote itself rather than a user or page, which are wd_user_id and page_id respectively. vote can be any value between -1 and 5 including 0 depending on the rating scheme in place. 0 is a SCUTTLE creation to track removed votes and can be removed from your data set if you wish to stick to wikidot votes only. | |||
Tag Namespace
GET /tag
| https://{language}.scuttle.bluesoul.net/api/v1/tag | |||
|---|---|---|---|
| Tag Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | tag | Gets a manifest of all tags on a wiki. | None, domain-based routing (Domain $domain) |
| Note: The id field is the SCUTTLE ID for that tag, which will be needed for POST requests to tag/pages. | |||
GET /tag/{name}/pages
| https://{language}.scuttle.bluesoul.net/api/v1/tag/{name}/pages | |||
|---|---|---|---|
| Tag Namespace | |||
| Method | API Route | Purpose | Vars |
| GET | tag/{name}/pages | Gets an unsorted manifest of all pages on a wiki that have the specified tag. | Tag (string $tag) |
| Note: The id field is the SCUTTLE Page ID for the page. | |||
POST /tag/pages
| https://{language}.scuttle.bluesoul.net/api/v1/tag/pages | |||
|---|---|---|---|
| Tag Namespace | |||
| Method | API Route | Purpose | Vars |
| POST | tag/pages | Gets detailed metadata about pages that have specified tags. | Array of (int) SCUTTLE Tag IDs (array $ids) OR Array of (string) Tag Names (array $names) (at least one of $ids or $names required), int limit (min 1, max 100, optional (default 20)), int offset (min 0, optional (default 0)), string operator (either and or or, optional (default and)), string direction (either asc or desc, optional (default asc)) |
| Notes: If for whatever reason you provided both an ids and a names array, only ids will be checked. | |||
page revision: 22, last edited: 01 Sep 2020 10:10





