fully-api
Version:
API framework for Fully Stacked, LLC REST-ful APIs
334 lines • 14.3 kB
JSON
{
"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
}
]
}
]
}