Difference between revisions of "API"

From SoFurry
Jump to: navigation, search
(Submissions)
Line 75: Line 75:
 
== Submissions ==
 
== Submissions ==
  
These routes are all about creating and managing individual submissions
+
These routes are all about creating and managing individual submissions.
 +
 
 +
To do: Search submissions
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 102: Line 104:
 
|Live
 
|Live
 
|}
 
|}
 +
 +
== Forum ==
 +
 +
Methods for interacting on forums, still in development
 +
 +
== Virtual Galleries ==
 +
 +
A Virtual Gallery will function as a collection of artwork. These methods are for creating, accessing, and publishing new content to a Virtual Gallery.
 +
 +
== RP Universes ==
 +
 +
An RP Universe is built around a collection of roleplay posts, supplemented by artwork. These methods are for creating new universes, inviting characters to participate, the actual participation, and linking relevant content into the Universe.
 +
 +
== Character System ==
 +
 +
The Character system allows users to create roleplaying characters, which can be used to interact across the site.
 +
 +
== Journals ==
 +
 +
Methods for creating and updating journal entries

Revision as of 11:40, 25 April 2016

This page deals with the new-format REST API being developed as part of SoFurry NEXT. For documentation on the current "v3" API, please see SoFurry_REST_APIs.

About the API

The api runs on lumen, is classic json/rest, at the domain name api.sofurrybeta.com. It should always be accessed over HTTPS.

Making a simple API request

GET request sample

Authentication

POST for login to create a session, get a token

API Routes

This table contains all the methods and URLs that the API currently supports. For more information on using a particular route, simply go through to that route's page.

Some routes have no parameters at all, and can be accessed simply by doing the HTTP request. Some routes require parameters as part of the URL - they will be denoted by curly braces, and are always mandatory. Some requests expect parameters to be sent in the body of a JSON request.

Users and Profiles

These routes are all about managing user accounts and profiles. Not all the routes are secure (require authentication).

Route Parameters Description Need Token? Status
GET / Returns the version of the API No Live
POST /login email, password Validates the supplied credentials and returns an authentication token that should be used for all future requests No Live
POST /activate activate_token Activates a newly-registered user, enabling you to log in No Live
POST /user name, email, password Register a new user account and trigger a validation email to the supplied email address No Live
GET /user Returns a JSON object with the profile details of the authenticated user Yes Live
GET /user/{id} id=User ID Returns the profile information for a different User ID. Yes Live
PUT /user bio Make an update to the profile of the authenticated user by overwriting several fields. Yes Live

Submissions

These routes are all about creating and managing individual submissions.

To do: Search submissions

Route Parameters Description Need Token? Status
POST /submission title, type, rating, description, visible Create a new Submission record. It won't be shared until it has been populated with some content Yes Live
GET /submission/{id} id=Submission ID Retrieve a Submission JSON object. Yes Live
PUT /submission/{id}/content id=Submission ID, (binary stream) Store a binary content stream against a submission. By default, populating a submission for the first time will publish it to your watchers, and the global gallery. Yes Live

Forum

Methods for interacting on forums, still in development

Virtual Galleries

A Virtual Gallery will function as a collection of artwork. These methods are for creating, accessing, and publishing new content to a Virtual Gallery.

RP Universes

An RP Universe is built around a collection of roleplay posts, supplemented by artwork. These methods are for creating new universes, inviting characters to participate, the actual participation, and linking relevant content into the Universe.

Character System

The Character system allows users to create roleplaying characters, which can be used to interact across the site.

Journals

Methods for creating and updating journal entries