BigBucks Solutions Auth Engine 0.0.1
This is REST api definitions.
Servers
| Description | URL |
|---|---|
| //localhost:8000/api/v1 | //localhost:8000/api/v1 |
invitations
GET /invitations
List invitations for organization
Description
Get paginated list of invitations for the current organization with sorting support
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
order_by |
query | string | created_at | No | Order by field (email, status, created_at, expires_at, role_name, inviter_name) |
order_dir |
query | string | desc | No | Order direction (asc, desc) |
page |
query | integer | 1 | No | Page number |
page_size |
query | integer | 10 | No | Page size |
search |
query | string | No | Search term to filter by inviter or invitee email | |
status |
query | string | No | Filter by status (pending, accepted, expired, revoked) | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
{
"invitations": [
{
"acceptedAt": "string",
"createdAt": "string",
"email": "string",
"expiresAt": "string",
"id": "string",
"inviter": {
"id": "string",
"username": "string"
},
"role": {
"id": "string",
"name": "string"
},
"status": "string"
}
],
"page": 0,
"size": 0,
"total": 0
}
Schema of the response body
{
"properties": {
"invitations": {
"items": {
"$ref": "#/components/schemas/controllers.InvitationResponse"
},
"type": "array"
},
"page": {
"type": "integer"
},
"size": {
"type": "integer"
},
"total": {
"type": "integer"
}
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 401 Unauthorized
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
POST /invitations
Invite user to organization
Description
Send an invitation to a user to join the organization with a specific role
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Request body
{
"email": "string",
"roleId": "string"
}
Schema of the request body
{
"properties": {
"email": {
"type": "string"
},
"roleId": {
"type": "string"
}
},
"required": [
"email",
"roleId"
],
"type": "object"
}
Response 201 Created
{
"acceptedAt": "string",
"createdAt": "string",
"email": "string",
"expiresAt": "string",
"id": "string",
"inviter": {
"id": "string",
"username": "string"
},
"role": {
"id": "string",
"name": "string"
},
"status": "string"
}
Schema of the response body
{
"properties": {
"acceptedAt": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"email": {
"type": "string"
},
"expiresAt": {
"type": "string"
},
"id": {
"type": "string"
},
"inviter": {
"$ref": "#/components/schemas/controllers.UserInfo"
},
"role": {
"$ref": "#/components/schemas/controllers.RoleInfo"
},
"status": {
"type": "string"
}
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 401 Unauthorized
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
GET /invitations/accept
Accept invitation
Description
Accept an invitation to join an organization
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
token |
query | string | No | Invitation Token | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
{
"jwtToken": "string",
"message": "string"
}
Schema of the response body
{
"properties": {
"jwtToken": {
"type": "string"
},
"message": {
"type": "string"
}
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 401 Unauthorized
Schema of the response body
{
"type": "object"
}
Response 409 Conflict
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
POST /invitations/{invitation_id}/resend
Resend invitation
Description
Resend an existing invitation or create a new one if expired
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
invitation_id |
path | string | No | Invitation ID | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
{
"acceptedAt": "string",
"createdAt": "string",
"email": "string",
"expiresAt": "string",
"id": "string",
"inviter": {
"id": "string",
"username": "string"
},
"role": {
"id": "string",
"name": "string"
},
"status": "string"
}
Schema of the response body
{
"properties": {
"acceptedAt": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"email": {
"type": "string"
},
"expiresAt": {
"type": "string"
},
"id": {
"type": "string"
},
"inviter": {
"$ref": "#/components/schemas/controllers.UserInfo"
},
"role": {
"$ref": "#/components/schemas/controllers.RoleInfo"
},
"status": {
"type": "string"
}
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 404 Not Found
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
PUT /invitations/{invitation_id}/revoke
Revoke invitation
Description
Revoke a pending invitation
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
invitation_id |
path | string | No | Invitation ID | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
{
"message": "message"
}
Schema of the response body
{
"properties": {
"message": {
"example": "message",
"type": "string"
}
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 401 Unauthorized
Schema of the response body
{
"type": "object"
}
Response 404 Not Found
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
permissions
GET /master-data/actions
Get actions
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Response 200 OK
[
"string"
]
Schema of the response body
{
"items": {
"type": "string"
},
"type": "array"
}
GET /master-data/resources
Get resources
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Response 200 OK
[
"string"
]
Schema of the response body
{
"items": {
"type": "string"
},
"type": "array"
}
GET /master-data/scopes
Get scopes
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Response 200 OK
[
"string"
]
Schema of the response body
{
"items": {
"type": "string"
},
"type": "array"
}
POST /permissions
Create new permission
Description
Create a new permission in the system
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Request body
{
"action": "string",
"resource": "string",
"scope": "string"
}
Schema of the request body
{
"properties": {
"action": {
"minLength": 3,
"type": "string"
},
"resource": {
"minLength": 3,
"type": "string"
},
"scope": {
"minLength": 3,
"type": "string"
}
},
"required": [
"action",
"resource",
"scope"
],
"type": "object"
}
Response 201 Created
auth
GET /me
Get logged in user profile information
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Response 200 OK
{
"isSocialAccount": true,
"organizations": [
{
"id": "string",
"name": "string"
}
],
"profile": {
"avatar": "string",
"bio": "string",
"country": "string",
"designation": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"phone": "string",
"timezone": "string"
},
"roles": [
{
"description": "string",
"extraAttrs": {},
"name": "string"
}
],
"username": "string"
}
Schema of the response body
{
"properties": {
"isSocialAccount": {
"type": "boolean"
},
"organizations": {
"items": {
"$ref": "#/components/schemas/types.UserInfoOrganization"
},
"type": "array"
},
"profile": {
"$ref": "#/components/schemas/types.UserInfoProfile"
},
"roles": {
"items": {
"$ref": "#/components/schemas/types.UserInfoRole"
},
"type": "array"
},
"username": {
"type": "string"
}
},
"type": "object"
}
Response 400 Bad Request
Response 500 Internal Server Error
POST /signin
Authenticate with username and pssword
Description
Authenticate user with password and issue jwt token
Request body
{
"password": "string",
"recaptcha": "string",
"username": "string"
}
Schema of the request body
{
"properties": {
"password": {
"type": "string"
},
"recaptcha": {
"type": "string"
},
"username": {
"type": "string"
}
},
"type": "object"
}
Response 200 OK
"string"
Schema of the response body
{
"type": "string"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 404 Not Found
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
POST /signup
Register a new user
Description
Create a new user account
Request body
{
"email": "string",
"firstName": "string",
"lastName": "string",
"password": "string"
}
Schema of the request body
{
"properties": {
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"password": {
"minLength": 6,
"type": "string"
}
},
"required": [
"email",
"firstName",
"lastName",
"password"
],
"type": "object"
}
Response 200 OK
{
"message": "message"
}
Schema of the response body
{
"properties": {
"message": {
"example": "message",
"type": "string"
}
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 404 Not Found
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
POST /user/authorize
Check user have permission
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Request body
{
"action": "string",
"orgID": 0,
"resource": "string",
"scope": "string"
}
Schema of the request body
{
"properties": {
"action": {
"type": "string"
},
"orgID": {
"type": "integer"
},
"resource": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"type": "object"
}
Response 200 OK
{
"status": true
}
Schema of the response body
{
"properties": {
"status": {
"type": "boolean"
}
},
"type": "object"
}
Response 400 Bad Request
Response 500 Internal Server Error
POST /user/changepassword/{token}
Reset the password with the password reset token sent
Description
Reset the password with the password reset token sent to email
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
token |
path | string | No | token |
Request body
{
"email": "string",
"password": "string"
}
Schema of the request body
{
"properties": {
"email": {
"type": "string"
},
"password": {
"type": "string"
}
},
"type": "object"
}
Response 200 OK
Response 400 Bad Request
Response 404 Not Found
Response 500 Internal Server Error
POST /user/reset
Send the password reset token
Description
Get password reset token to email
Request body
{
"email": "example@example.com"
}
Schema of the request body
{
"properties": {
"email": {
"example": "example@example.com",
"type": "string"
}
},
"type": "object"
}
Response 200 OK
{
"message": "message"
}
Schema of the response body
{
"properties": {
"message": {
"example": "message",
"type": "string"
}
},
"type": "object"
}
Response 400 Bad Request
Response 404 Not Found
Response 500 Internal Server Error
POST /user/updateprofile
Update User profile details
Description
Update user profile details
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Request body
{
"firstName": "John",
"lastName": "Doe",
"file": ""
}
Schema of the request body
{
"properties": {
"file": {
"type": "binary"
},
"firstName": {
"type": "string",
"example": "John"
},
"lastName": {
"type": "string",
"example": "Doe"
},
"phone": {
"type": "string",
"example": "0000000"
}
},
"example": {
"firstName": "John",
"lastName": "Doe",
"file": ""
},
"type": "object"
}
Response 200 OK
Response 400 Bad Request
Response 404 Not Found
Response 500 Internal Server Error
GET /users
Lists the users
Description
Lists the users for an organization
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
JWTAuth |
header | string | N/A | No | API key |
JWTAuth |
header | string | N/A | No | API key |
org_id |
query | integer | No | Filter by organization ID | |
page |
query | integer | 1 | No | Page number |
page_size |
query | integer | 10 | No | Page size |
role_id |
query | string | No | Filter by role name | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
{
"page": 0,
"page_size": 0,
"total": 0,
"users": [
{
"activeSessions": 0,
"email": "string",
"firstName": "string",
"id": "string",
"lastLogin": "string",
"lastName": "string",
"roles": [
{
"id": "string",
"name": "string"
}
],
"status": "active",
"username": "string"
}
]
}
Schema of the response body
{
"properties": {
"page": {
"type": "integer"
},
"page_size": {
"type": "integer"
},
"total": {
"type": "integer"
},
"users": {
"items": {
"$ref": "#/components/schemas/types.ListUserResponse"
},
"type": "array"
}
},
"type": "object"
}
PUT /users/{user_id}/activate
Activate a user
Description
Activate a user in the organization
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
JWTAuth |
header | string | N/A | No | API key |
user_id |
path | string | No | User ID | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
{
"message": "message"
}
Schema of the response body
{
"properties": {
"message": {
"example": "message",
"type": "string"
}
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 404 Not Found
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
PUT /users/{user_id}/deactivate
Deactivate a user
Description
Deactivate a user in the organization
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
JWTAuth |
header | string | N/A | No | API key |
user_id |
path | string | No | User ID | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
{
"message": "message"
}
Schema of the response body
{
"properties": {
"message": {
"example": "message",
"type": "string"
}
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 404 Not Found
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
roles
GET /roles
List roles
Description
Get paginated list of roles with user count
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
page |
query | integer | 1 | No | Page number |
page_size |
query | integer | 10 | No | Page size |
role_name |
query | string | No | Filter by role name | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
{
"page": 0,
"roles": [
{
"description": "string",
"extraAttrs": {},
"id": "string",
"name": "string",
"userCount": 0
}
],
"size": 0,
"total": 0
}
Schema of the response body
{
"properties": {
"page": {
"type": "integer"
},
"roles": {
"items": {
"$ref": "#/components/schemas/types.ListRoleResponse"
},
"type": "array"
},
"size": {
"type": "integer"
},
"total": {
"type": "integer"
}
},
"type": "object"
}
POST /roles
Create new role
Description
Create a new role in the system
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Request body
{
"description": "string",
"extraAttrs": {},
"name": "string"
}
Schema of the request body
{
"properties": {
"description": {
"type": "string"
},
"extraAttrs": {
"additionalProperties": true,
"type": "object"
},
"name": {
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
Response 201 Created
POST /roles/bind-permission
Bind permission to role
Description
Associates a permission with a role
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Request body
{
"action": "string",
"resource": "string",
"role_id": "string",
"scope": "string"
}
Schema of the request body
{
"properties": {
"action": {
"type": "string"
},
"resource": {
"type": "string"
},
"role_id": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"type": "object"
}
Response 200 OK
"string"
Schema of the response body
{
"type": "string"
}
POST /roles/bind-user
Bind role to user
Description
Associates a role with a user in an organization
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Request body
{
"orgId": "string",
"roleId": "string",
"userId": "string"
}
Schema of the request body
{
"properties": {
"orgId": {
"type": "string"
},
"roleId": {
"type": "string"
},
"userId": {
"type": "string"
}
},
"required": [
"orgId",
"roleId",
"userId"
],
"type": "object"
}
Response 200 OK
"string"
Schema of the response body
{
"type": "string"
}
POST /roles/unbind-permission
UnBind permission to role
Description
Removes a permission with a role
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Request body
{
"action": "string",
"resource": "string",
"role_id": "string",
"scope": "string"
}
Schema of the request body
{
"properties": {
"action": {
"type": "string"
},
"resource": {
"type": "string"
},
"role_id": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"type": "object"
}
Response 200 OK
"string"
Schema of the response body
{
"type": "string"
}
POST /roles/unbind-user
UnBind role to user
Description
Removes a role with a user in an organization
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
X-Auth |
header | string | No | Authorization |
Request body
{
"orgId": "string",
"roleId": "string",
"userId": "string"
}
Schema of the request body
{
"properties": {
"orgId": {
"type": "string"
},
"roleId": {
"type": "string"
},
"userId": {
"type": "string"
}
},
"required": [
"orgId",
"roleId",
"userId"
],
"type": "object"
}
Response 200 OK
"string"
Schema of the response body
{
"type": "string"
}
DELETE /roles/{role_id}
Delete existing role
Description
Delete an existing role if it has no associated users
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
role_id |
path | string | No | Role ID | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
{
"message": "message"
}
Schema of the response body
{
"properties": {
"message": {
"example": "message",
"type": "string"
}
},
"type": "object"
}
Response 400 Bad Request
{
"message": "message"
}
Schema of the response body
{
"properties": {
"message": {
"example": "message",
"type": "string"
}
},
"type": "object"
}
Response 404 Not Found
{
"message": "message"
}
Schema of the response body
{
"properties": {
"message": {
"example": "message",
"type": "string"
}
},
"type": "object"
}
PUT /roles/{role_id}
Update existing role
Description
Update an existing role in the system
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
role_id |
path | string | No | Role ID | |
X-Auth |
header | string | No | Authorization |
Request body
{
"description": "string",
"extraAttrs": {},
"name": "string"
}
Schema of the request body
{
"properties": {
"description": {
"type": "string"
},
"extraAttrs": {
"additionalProperties": true,
"type": "object"
},
"name": {
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
Response 201 Created
POST /roles/{role_id}/permissions
List permission of a role
Description
Lists permissions of a role
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
role_id |
path | string | No | Role ID | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
[
{
"action": "string",
"isHidden": true,
"isLocked": true,
"resource": "string",
"scope": "string"
}
]
Schema of the response body
{
"items": {
"$ref": "#/components/schemas/types.ListRolePermission"
},
"type": "array"
}
sessions
GET /sessions/users/{user_id}
List User session for provided userId
Description
List User sessions for provided userId
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
user_id |
path | string | No | User ID | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
[
{}
]
Schema of the response body
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
Response 400 Bad Request
Response 404 Not Found
Response 500 Internal Server Error
DELETE /sessions/{session_id}
Revoke a specific user session
Description
Revokes a specific session by session ID
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
session_id |
path | string | No | Session ID to revoke | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
Schema of the response body
{
"additionalProperties": {
"type": "string"
},
"type": "object"
}
Response 400 Bad Request
Response 404 Not Found
Response 500 Internal Server Error
DELETE /users/{user_id}/sessions
Revoke all user sessions except current
Description
Revokes all sessions for a user except the current session
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
user_id |
path | string | No | User ID | |
X-Auth |
header | string | No | Authorization |
Response 200 OK
Schema of the response body
{
"additionalProperties": {
"type": "string"
},
"type": "object"
}
Response 400 Bad Request
Response 404 Not Found
Response 500 Internal Server Error
webauthn
GET /webauthn/check
Check if user has WebAuthn credentials
Description
Returns whether a given username has WebAuthn credentials registered (for login UI flow decisions).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
username |
query | string | No | Username to check |
Response 200 OK
Schema of the response body
{
"additionalProperties": {
"type": "boolean"
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
GET /webauthn/credentials
List WebAuthn credentials
Description
Returns all registered WebAuthn credentials for the authenticated user.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
JWTAuth |
header | string | N/A | No | API key |
Response 200 OK
[
{}
]
Schema of the response body
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
Response 401 Unauthorized
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
DELETE /webauthn/credentials/{credential_id}
Delete a WebAuthn credential
Description
Removes a registered WebAuthn credential by ID.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
JWTAuth |
header | string | N/A | No | API key |
credential_id |
path | integer | No | Credential ID |
Response 200 OK
Schema of the response body
{
"additionalProperties": {
"type": "string"
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 401 Unauthorized
Schema of the response body
{
"type": "object"
}
Response 404 Not Found
Schema of the response body
{
"type": "object"
}
POST /webauthn/login/begin
Begin WebAuthn login
Description
Starts the WebAuthn authentication ceremony. Pass username for credential- bound login, or omit for discoverable (passkey) login.
Request body
{
"mediation": "string",
"username": "string"
}
Schema of the request body
{
"properties": {
"mediation": {
"type": "string"
},
"username": {
"type": "string"
}
},
"type": "object"
}
Response 200 OK
{
"mediation": "",
"publicKey": {
"allowCredentials": [
{
"id": [
0
],
"transports": [
"usb"
],
"type": {}
}
],
"challenge": [
0
],
"extensions": {},
"hints": [
"security-key"
],
"rpId": "string",
"timeout": 0,
"userVerification": "required"
}
}
Schema of the response body
{
"properties": {
"mediation": {
"$ref": "#/components/schemas/protocol.CredentialMediationRequirement"
},
"publicKey": {
"$ref": "#/components/schemas/protocol.PublicKeyCredentialRequestOptions"
}
},
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
POST /webauthn/login/finish
Finish WebAuthn login
Description
Completes the authentication ceremony, validates the authenticator response, and issues a JWT.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
username |
query | string | No | Username (must match begin request) |
Response 202 Accepted
"string"
Schema of the response body
{
"type": "string"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 401 Unauthorized
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
POST /webauthn/register/begin
Begin WebAuthn credential registration
Description
Starts the WebAuthn registration ceremony for the authenticated user. Returns a CredentialCreationOptions JSON for the browser.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
JWTAuth |
header | string | N/A | No | API key |
Response 200 OK
{
"mediation": "",
"publicKey": {
"attestation": "none",
"attestationFormats": [
"packed"
],
"authenticatorSelection": {
"authenticatorAttachment": {},
"requireResidentKey": true,
"residentKey": {},
"userVerification": {}
},
"challenge": [
0
],
"excludeCredentials": [
{
"id": [
0
],
"transports": [
"usb"
],
"type": {}
}
],
"extensions": {},
"hints": [
"security-key"
],
"pubKeyCredParams": [
{
"alg": 0,
"type": "public-key"
}
],
"rp": {
"id": "string",
"name": "string"
},
"timeout": 0,
"user": {
"displayName": "string",
"id": {},
"name": "string"
}
}
}
Schema of the response body
{
"properties": {
"mediation": {
"$ref": "#/components/schemas/protocol.CredentialMediationRequirement"
},
"publicKey": {
"$ref": "#/components/schemas/protocol.PublicKeyCredentialCreationOptions"
}
},
"type": "object"
}
Response 401 Unauthorized
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
POST /webauthn/register/finish
Finish WebAuthn credential registration
Description
Completes the registration ceremony by validating the authenticator response and storing the credential.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
JWTAuth |
header | string | N/A | No | API key |
name |
query | string | No | Friendly name for the credential |
Response 200 OK
Schema of the response body
{
"additionalProperties": true,
"type": "object"
}
Response 400 Bad Request
Schema of the response body
{
"type": "object"
}
Response 401 Unauthorized
Schema of the response body
{
"type": "object"
}
Response 500 Internal Server Error
Schema of the response body
{
"type": "object"
}
Schemas
actions.UserListResponse
| Name | Type |
|---|---|
page |
integer |
page_size |
integer |
total |
integer |
users |
Array<types.ListUserResponse> |
bigbucks_solution_auth_rest-api_controllers_types.Role
| Name | Type |
|---|---|
description |
string |
extraAttrs |
|
name |
string |
bigbucks_solution_auth_rest-api_controllers_types.UserInfo
| Name | Type |
|---|---|
isSocialAccount |
boolean |
organizations |
Array<types.UserInfoOrganization> |
profile |
types.UserInfoProfile |
roles |
Array<types.UserInfoRole> |
username |
string |
constants.UserStatus
Type: string
controllers.AcceptInvitationResponse
| Name | Type |
|---|---|
jwtToken |
string |
message |
string |
controllers.InvitationResponse
| Name | Type |
|---|---|
acceptedAt |
string |
createdAt |
string |
email |
string |
expiresAt |
string |
id |
string |
inviter |
controllers.UserInfo |
role |
controllers.RoleInfo |
status |
string |
controllers.InviteUserRequest
| Name | Type |
|---|---|
email |
string |
roleId |
string |
controllers.JsonCred
| Name | Type |
|---|---|
password |
string |
recaptcha |
string |
username |
string |
controllers.ListInvitationsResponse
| Name | Type |
|---|---|
invitations |
Array<controllers.InvitationResponse> |
page |
integer |
size |
integer |
total |
integer |
controllers.RequestPasswordResetToken
| Name | Type |
|---|---|
email |
string |
controllers.ResetPassword
| Name | Type |
|---|---|
email |
string |
password |
string |
controllers.RoleInfo
| Name | Type |
|---|---|
id |
string |
name |
string |
controllers.UserInfo
| Name | Type |
|---|---|
id |
string |
username |
string |
controllers.webAuthnLoginRequest
| Name | Type |
|---|---|
mediation |
string |
username |
string |
protocol.AttestationFormat
Type: string
protocol.AuthenticationExtensions
protocol.AuthenticatorAttachment
Type: string
protocol.AuthenticatorSelection
| Name | Type |
|---|---|
authenticatorAttachment |
|
requireResidentKey |
boolean |
residentKey |
|
userVerification |
protocol.AuthenticatorTransport
Type: string
protocol.ConveyancePreference
Type: string
protocol.CredentialAssertion
| Name | Type |
|---|---|
mediation |
protocol.CredentialMediationRequirement |
publicKey |
protocol.PublicKeyCredentialRequestOptions |
protocol.CredentialCreation
| Name | Type |
|---|---|
mediation |
protocol.CredentialMediationRequirement |
publicKey |
protocol.PublicKeyCredentialCreationOptions |
protocol.CredentialDescriptor
| Name | Type |
|---|---|
id |
Array<integer> |
transports |
Array<protocol.AuthenticatorTransport> |
type |
protocol.CredentialMediationRequirement
Type: string
protocol.CredentialParameter
| Name | Type |
|---|---|
alg |
webauthncose.COSEAlgorithmIdentifier |
type |
protocol.CredentialType |
protocol.CredentialType
Type: string
protocol.PublicKeyCredentialCreationOptions
| Name | Type |
|---|---|
attestation |
protocol.ConveyancePreference |
attestationFormats |
Array<protocol.AttestationFormat> |
authenticatorSelection |
protocol.AuthenticatorSelection |
challenge |
Array<integer> |
excludeCredentials |
Array<protocol.CredentialDescriptor> |
extensions |
protocol.AuthenticationExtensions |
hints |
Array<protocol.PublicKeyCredentialHints> |
pubKeyCredParams |
Array<protocol.CredentialParameter> |
rp |
protocol.RelyingPartyEntity |
timeout |
integer |
user |
protocol.UserEntity |
protocol.PublicKeyCredentialHints
Type: string
protocol.PublicKeyCredentialRequestOptions
| Name | Type |
|---|---|
allowCredentials |
Array<protocol.CredentialDescriptor> |
challenge |
Array<integer> |
extensions |
protocol.AuthenticationExtensions |
hints |
Array<protocol.PublicKeyCredentialHints> |
rpId |
string |
timeout |
integer |
userVerification |
protocol.UserVerificationRequirement |
protocol.RelyingPartyEntity
| Name | Type |
|---|---|
id |
string |
name |
string |
protocol.ResidentKeyRequirement
Type: string
protocol.UserEntity
| Name | Type |
|---|---|
displayName |
string |
id |
|
name |
string |
protocol.UserVerificationRequirement
Type: string
types.AuthorizeResponse
| Name | Type |
|---|---|
status |
boolean |
types.CheckPermissionBody
| Name | Type |
|---|---|
action |
string |
orgID |
integer |
resource |
string |
scope |
string |
types.CreatePermissionBody
| Name | Type |
|---|---|
action |
string |
resource |
string |
scope |
string |
types.ListRolePermission
| Name | Type |
|---|---|
action |
string |
isHidden |
boolean |
isLocked |
boolean |
resource |
string |
scope |
string |
types.ListRoleResponse
| Name | Type |
|---|---|
description |
string |
extraAttrs |
|
id |
string |
name |
string |
userCount |
integer |
types.ListRolesPagedResponse
| Name | Type |
|---|---|
page |
integer |
roles |
Array<types.ListRoleResponse> |
size |
integer |
total |
integer |
types.ListUserResponse
| Name | Type |
|---|---|
activeSessions |
integer |
email |
string |
firstName |
string |
id |
string |
lastLogin |
string |
lastName |
string |
roles |
Array<types.RoleWithId> |
status |
constants.UserStatus |
username |
string |
types.RolePermissionBindingBody
| Name | Type |
|---|---|
action |
string |
resource |
string |
role_id |
string |
scope |
string |
types.RoleWithId
| Name | Type |
|---|---|
id |
string |
name |
string |
types.SignupRequestBody
| Name | Type |
|---|---|
email |
string |
firstName |
string |
lastName |
string |
password |
string |
types.SimpleResponse
| Name | Type |
|---|---|
message |
string |
types.UserInfoOrganization
| Name | Type |
|---|---|
id |
string |
name |
string |
types.UserInfoProfile
| Name | Type |
|---|---|
avatar |
string |
bio |
string |
country |
string |
designation |
string |
email |
string |
firstName |
string |
lastName |
string |
phone |
string |
timezone |
string |
types.UserInfoRole
| Name | Type |
|---|---|
description |
string |
extraAttrs |
|
name |
string |
types.UserRoleBindingBody
| Name | Type |
|---|---|
orgId |
string |
roleId |
string |
userId |
string |
userUpdateProfileBody
| Name | Type |
|---|---|
file |
|
firstName |
string |
lastName |
string |
phone |
string |
webauthncose.COSEAlgorithmIdentifier
Type: integer
Security schemes
| Name | Type | Scheme | Description |
|---|---|---|---|
| JWTAuth | apiKey |