API

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.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License