/register
Logs the user in.

No required URL Parameters
KeyTypeRequiredDescription
usernamestringtrueUsers chosen username.
passstringtrueUsers chosen password.

Successful Response

{
   registered: true
}

Response on error

One of the following keys will exist.
{
   emailUsed: true,
   usernameUsed: true,
   invalidEmail: true,
   invalidUsername: true
}
GET /login

/login
Logs the user in.

No required URL Parameters
KeyTypeRequiredDescription
usernamestringtrueUsername....?
passwordstringtruePassword...........? (come on, do you really need a description?!)

Successful Response

{
   loggedIn: true
}

Response on error

{
   loggedIn: false
}

/logout
TBD - Not implemented.

This API is under development.

/resetpassword
Emails the user a password reset with a unique link.

No required URL Parameters
KeyTypeRequiredDescription
emailstringtrueThe users email address.

Successful Response

{
   status: "sent"
}

Response on error

'err' will have the value of one of the items in the following array.
{
   err: [
      "invalid",
      "blocked",
      "notfound",
      "error"
   ]
}

/changepassword
Changes the users password.

No required URL Parameters
KeyTypeRequiredDescription
tokenstringtrueThe users unique token.
passstringtrueThe users new password.

Successful Response

{
   status: "success"
}

Response on error

'status' will have the value of one of the items in the following array.
{
   status: [
      "invalid",
      "error"
   ]
}

/thismaychange
Function i'm working on that will change (for better or for worse)

This API is experimental.
No required URL Parameters
KeyTypeRequiredDescription
idekidk either, it can be a string.trueThis is just an example file stop expecting me to write real descriptions

exampleFunction ( requiredArg [, optionalArg] )
some description okay

NameTypeRequiredDescription
optionalArgobjectfalseReally...?

Example Call

"exampleFunction('itsastringokay', { 'itsa': 'optional!' });"

Example Response

{
   optional: "you say?"
}