backstrap-server
Version:
Backstrap is a lightweight framework for building APIs
619 lines • 24 kB
JSON
{
"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
}
]
}
]
}