UNPKG

backstrap-server

Version:

Backstrap is a lightweight framework for building APIs

619 lines 24 kB
{ "common": [ { "name": "accounts", "version": "1.0.0", "methods": [ { "verb": "GET", "call": "checkToken", "desc": "Checks to see if an api token is valid", "authRequired": true, "args": [], "isUserCreated": false }, { "verb": "POST", "call": "session", "desc": "Obtain a token for an anonymous session", "authRequired": false, "args": [ { "name": "clientInfo", "type": "string", "isRequired": false, "description": "Any additional info about this log in (from browser, from app, etc)" } ], "isUserCreated": false }, { "verb": "POST", "call": "signIn", "desc": "Sign in using system credentials", "authRequired": false, "apiBlueprint": true, "args": [ { "name": "username", "type": "string", "isRequired": false, "description": null }, { "name": "email", "type": "string", "isRequired": false, "description": null }, { "name": "password", "type": "string", "isRequired": false, "description": null }, { "name": "clientInfo", "type": "string", "isRequired": false, "description": "Any additional info about this log in (from browser, from app, etc)" }, { "name": "token", "type": "string", "isRequired": false, "description": "token from external identity provider" } ], "isUserCreated": false }, { "verb": "POST", "call": "signUp", "desc": "Sign up for new system credentials", "authRequired": false, "apiBlueprint": true, "args": [ { "name": "username", "type": "string", "isRequired": false, "description": null }, { "name": "password", "type": "string", "isRequired": false, "description": null }, { "name": "email", "type": "string", "isRequired": true, "description": "Used for Forgot Password and Welcome Email" }, { "name": "external_id", "type": "string", "isRequired": false, "description": "Identifier given by an external identity provider" } ], "isUserCreated": false }, { "verb": "POST", "call": "apiUser", "desc": "Sign up for api credentials", "authRequired": false, "arg s": [ { "name": "email", "type": "string", "isRequired": true, "description": "" } ], "isUserCreated": false }, { "verb": "POST", "call": "externalUser", "desc": "Sign up using an external werivce's id", "authRequired": false, "args": [ { "name": "email", "type": "string", "isRequired": true, "description": "" }, { "name": "external_id", "type": "string", "isRequired": true, "description": "" } ], "isUserCreated": false }, { "verb": "POST", "call": "apiCredentials", "desc": "Get api credentials for an existing user", "authRequired": true, "args": [ { "name": "first", "type": "string", "isRequired": false, "description": "User's first name" }, { "name": "last", "type": "string", "isRequired": false, "description": "User's last name" }, { "name": "roles", "type": "array", "isRequired": false, "description": "can include any of owner's roles" } ], "isUserCreated": false }, { "verb": "PUT", "call": "email", "desc": "Update your bsuser model", "authRequired": true, "args": [ { "name": "email", "type": "string", "isRequired": true, "description": "" } ], "isUserCreated": false }, { "verb": "PATCH", "call": "password", "desc": "Update your bsuser password", "authRequired": true, "args": [ { "name": "password", "type": "string", "isRequired": true, "description": null } ], "isUserCreated": false }, { "verb": "POST", "call": "forgotPassword", "desc": "Emails a token to reset password", "authRequired": false, "args": [ { "name": "username", "type": "string", "isRequired": false, "description": null }, { "name": "email", "type": "string", "isRequired": false, "description": null } ], "isUserCreated": false }, { "verb": "POST", "call": "forgotUsername", "desc": "get username from email", "authRequired": false, "args": [ { "name": "email", "type": "string", "isRequired": true, "description": null } ], "isUserCreated": false }, { "verb": "POST", "call": "resetPassword", "desc": "Reset password using a token", "authRequired": false, "args": [ { "name": "token", "type": "string", "isRequired": true, "description": null }, { "name": "password", "type": "string", "isRequired": true, "description": null } ], "isUserCreated": false }, { "verb": "POST", "call": "signOut", "desc": "Sign out of the system", "authRequired": true, "args": null, "isUserCreated": false }, { "verb": "GET", "call": "profile", "desc": "Get my profile", "authRequired": true, "args": null, "isUserCreated": false }, { "verb": "POST", "call": "profile", "desc": "Set or update my profile", "authRequired": true, "args": [ { "name": "userprofile", "type": "object", "isRequired": true, "description": "An object with key/values to be saved in the user object" } ], "isUserCreated": false }, { "verb": "DELETE", "call": "account", "desc": "Inavtivate your bsuser", "authRequired": true, "args": [], "isUserCreated": false }, { "verb": "DELETE", "call": "apiCredentials", "desc": "remove a client_id / client_secret pair", "authRequired": true, "args": [ { "name": "client_id", "type": "string", "isRequired": true, "description": "Client id to be removed" } ], "isUserCreated": false } ] }, { "name": "internalSystem", "version": "1.0.0", "methods": [ { "verb": "GET", "call": "version", "desc": "Get the current version of API", "authRequired": false, "args": [], "description": "Get the current version of API", "isUserCreated": false }, { "verb": "GET", "call": "headerTokenKey", "desc": "Get the instances header token key. (ie: we use bs_auth_token)", "authRequired": false, "args": [], "description": "Get the instances header token key. (ie: we use bs_auth_token)", "isUserCreated": false }, { "verb": "GET", "call": "endpoint", "desc": "Get the registered service calls", "authRequired": false, "args": [], "description": "Get the registered service calls", "isUserCreated": false }, { "verb": "GET", "call": "health", "desc": "Server health check", "authRequired": false, "args": null, "isUserCreated": false } ] }, { "name": "admin", "version": "1.0.0", "methods": [ { "verb": "GET", "call": "user", "desc": "Get users", "authRequired": true, "args": [ { "name": "username", "type": "string", "isRequired": false, "description": null }, { "name": "id", "type": "string", "isRequired": false, "description": null }, { "name": "email", "type": "string", "isRequired": false, "description": null } ], "isUserCreated": false }, { "verb": "POST", "call": "user", "desc": "Get users", "authRequired": true, "args": [ { "name": "username", "type": "string", "isRequired": false, "description": null }, { "name": "password", "type": "string", "isRequired": false, "description": null }, { "name": "email", "type": "string", "isRequired": true, "description": null }, { "name": "roles", "type": "array", "isRequired": false, "description": null }, { "name": "type", "type": "string", "isRequired": false, "description": null }, { "name": "external_id", "type": "string", "isRequired": false, "description": null } ], "isUserCreated": false }, { "verb": "PATCH", "call": "user", "desc": "Get users", "authRequired": true, "args": [ { "name": "id", "type": "number", "isRequired": true, "description": null }, { "name": "username", "type": "string", "isRequired": false, "description": null }, { "name": "password", "type": "string", "isRequired": false, "description": null }, { "name": "email", "type": "string", "isRequired": false, "description": null }, { "name": "external_id", "type": "string", "isRequired": false, "description": null }, { "name": "roles", "type": "array", "isRequired": false, "description": null } ], "isUserCreated": false }, { "verb": "DELETE", "call": "user", "desc": "Delete a user", "authRequired": true, "args": [ { "name": "id", "type": "number", "isRequired": true, "description": null } ], "isUserCreated": false }, { "verb": "GET", "call": "userRole", "desc": "Get roles for a user", "authRequired": true, "args": [ { "name": "id", "type": "string", "isRequired": false, "description": null }, { "name": "username", "type": "string", "isRequired": false, "description": null }, { "name": "email", "type": "string", "isRequired": false, "description": null } ], "isUserCreated": false }, { "verb": "POST", "call": "userRole", "desc": "Add a role to a user", "authRequired": true, "args": [ { "name": "id", "type": "string", "isRequired": false, "description": null }, { "name": "username", "type": "string", "isRequired": false, "description": null }, { "name": "email", "type": "string", "isRequired": false, "description": null }, { "name": "role", "type": "string", "isRequired": true, "description": "Role must match one of the roles defined in ACL (superuser, default-user, admin-user)" } ], "isUserCreated": false }, { "verb": "DELETE", "call": "userRole", "desc": "Delete a role from a user", "authRequired": true, "args": [ { "name": "id", "type": "number", "isRequired": false, "description": null }, { "name": "username", "type": "string", "isRequired": false, "description": null }, { "name": "email", "type": "string", "isRequired": false, "description": null }, { "name": "role", "type": "string", "isRequired": true, "description": "Role must match one of the roles defined in ACL (superuser, default-user, admin-user)" } ], "isUserCreated": false }, { "verb": "POST", "call": "resetClientSecret", "desc": "Get a new client secret", "authRequired": true, "args": [ { "name": "client_id", "type": "string", "isRequired": true, "description": "Client ID of the user" } ], "isUserCreated": false } ] }, { "name": "analytics", "version": "1.0.0", "methods": [ { "verb": "POST", "call": "event", "desc": "log an analytics event", "authRequired": true, "args": [ { "name": "event_descriptor", "type": "object", "isRequired": true, "description": "An object describing the event to be logged (including timestamp)" } ], "isUserCreated": false } ] } ] }