UNPKG

fully-api

Version:

API framework for Fully Stacked, LLC REST-ful APIs

334 lines 14.3 kB
{ "core": [ { "name": "accounts", "version": "1.0.0", "methods": [ { "verb": "POST", "call": "validate_token", "description": "Checks to see if an api token is valid", "authRequired": false, "args": [], "isUserCreated": false }, { "verb": "GET", "call": "user", "description": "get currently authenticated user", "authRequired": true, "args": [], "isUserCreated": false }, { "verb": "POST", "call": "sign_out", "description": "log out an authenticated user", "authRequired": true, "args": [], "isUserCreated": false }, { "verb": "POST", "call": "sign_in", "description": "Sign in using system credentials", "authRequired": false, "args": [ { "name": "username", "type": "string", "isRequired": false, "description": "either a username or an email is required" }, { "name": "email", "type": "string", "isRequired": false, "description": "either a username or an email is required" }, { "name": "password", "type": "string", "isRequired": true, "description": null } ], "isUserCreated": false }, { "verb": "PATCH", "call": "onesignal_token", "description": "Update a OneSignal push notification token associated with a user. DEVELOPER must first add field in db to store record. and modify this endpoint template", "authRequired": false, "apiBlueprint": true, "args": [ { "name": "username", "type": "string", "isRequired": false, "description": "either a username or an email is required" }, { "name": "email", "type": "string", "isRequired": false, "description": "either a username or an email is required" }, { "name": "password", "type": "string", "isRequired": true, "description": null } ], "isUserCreated": false }, { "verb": "POST", "call": "sign_up", "description": "Sign up for new system credentials", "authRequired": false, "apiBlueprint": true, "args": [ { "name": "username", "type": "string", "isRequired": false, "description": "optionally user for login. if none, will default to provided email" }, { "name": "password", "type": "string", "isRequired": true, "description": null }, { "name": "email", "type": "string", "isRequired": true, "description": "Used for Forgot Password, and login" }, { "name": "firstname", "type": "string", "isRequired": true, "description": "User's first name" }, { "name": "lastname", "type": "string", "isRequired": true, "description": "User's last name" } ], "isUserCreated": false }, { "verb": "PATCH", "call": "password", "description": "Update your bsuser password", "authRequired": true, "args": [ { "name": "password", "type": "string", "isRequired": true, "description": null } ], "isUserCreated": false }, { "verb": "POST", "call": "forgot_password", "description": "Emails a token to reset password", "authRequired": false, "args": [ { "name": "username", "type": "string", "isRequired": false, "description": "email or username required" }, { "name": "email", "type": "string", "isRequired": false, "description": "email or username required" } ], "isUserCreated": false }, { "verb": "POST", "call": "reset_password", "description": "Reset password using a token", "authRequired": false, "args": [ { "name": "token", "type": "string", "isRequired": true, "description": "reset password token (emailed by forgot_password call)" }, { "name": "password", "type": "string", "isRequired": true, "description": "new password" } ], "isUserCreated": false }, { "verb": "POST", "call": "sms_otp", "description": "send an SMS OTP to a phone number via twillio. US phone numbers must total 10 digits.", "authRequired": false, "args": [ { "name": "country_code", "type": "string", "isRequired": true, "description": "country code for the phone numner (digits only, no leading +)" }, { "name": "phone_number", "type": "string", "isRequired": true, "description": "valid phone number (digits only, strip '-' '(' charachters, etc.). phone must be able to recieve SMS messages" } ], "isUserCreated": false }, { "verb": "POST", "call": "otp_signIn", "description": "log in (or create new user is none exists) via SMS OTP code with twillio", "authRequired": false, "args": [ { "name": "otp_code", "type": "string", "isRequired": true, "description": "OTP from twilio" }, { "name": "country_code", "type": "string", "isRequired": true, "description": "country code for the phone numner (digits only, no leading +). Must match the the phone that recieved the OTP." }, { "name": "phone_number", "type": "string", "isRequired": true, "description": "valid phone number (digits only, strip '-' '(' charachters, etc.). Must match the the phone that recieved the OTP." }, { "name": "firstname", "type": "string", "isRequired": false, "description": "First name of the user. used if signup only." }, { "name": "lastname", "type": "string", "isRequired": false, "description": "Last name of the user. used if signup only." }, { "name": "email", "type": "string", "isRequired": false, "description": "email address of the user. used if signup only." }, { "name": "email", "type": "boolean", "isRequired": false, "description": "has the user accepted the terms and conditions for the platform. used if signup only. DEVELOPER: must add recording this information to db in a way they see fit should they chose to use this." }, { "name": "is_18_plus", "type": "boolean", "isRequired": false, "description": "is the user an adult. used if signup only. DEVELOPER: must add recording this information to db in a way they see fit should they chose to use this." } ], "isUserCreated": false } ] }, { "name": "internal", "version": "1.0.0", "hide_in_docs": false, "methods": [ { "verb": "GET", "call": "models", "hide_in_docs": true, "description": "the public data models definted for this API", "authRequired": true, "args": [], "isUserCreated": false }, { "verb": "GET", "call": "endpoints", "hide_in_docs": true, "description": "Get the publicly visible endpoints for this API", "authRequired": true, "args": [], "isUserCreated": false }, { "verb": "GET", "call": "readme_md", "hide_in_docs": true, "description": "Get the publicly visible endpoints for this API", "authRequired": true, "args": [], "isUserCreated": false }, { "verb": "GET", "call": "postman_collection", "hide_in_docs": true, "description": "Get the publicly visible endpoints for this API", "authRequired": true, "args": [], "isUserCreated": false }, { "verb": "GET", "call": "has_postman_collection", "hide_in_docs": true, "description": "Get the publicly visible endpoints for this API", "authRequired": true, "args": [], "isUserCreated": false }, { "verb": "GET", "call": "header_token_name", "hide_in_docs": false, "description": "Get the name of this API's header token", "authRequired": false, "args": [], "isUserCreated": false }, { "verb": "GET", "call": "health_status", "hide_in_docs": false, "description": "test if application is active and if it can connect to database. Set ELB health check to this endpoint for AWS ELB deployments.", "authRequired": false, "args": [], "isUserCreated": false } ] } ] }