Skip to content

BigBucks Solutions Auth Engine 0.0.1

This is REST api definitions.


Terms of service: http://swagger.io/terms/
License: Apache 2.0

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
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "password": {
            "type": "string"
        },
        "recaptcha": {
            "type": "string"
        },
        "username": {
            "type": "string"
        }
    },
    "type": "object"
}

Response 200 OK

"string"
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "email": {
            "example": "example@example.com",
            "type": "string"
        }
    },
    "type": "object"
}

Response 200 OK

{
    "message": "message"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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": ""
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "message": {
            "example": "message",
            "type": "string"
        }
    },
    "type": "object"
}

Response 400 Bad Request

{
    "message": "message"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "message": {
            "example": "message",
            "type": "string"
        }
    },
    "type": "object"
}

Response 404 Not Found

{
    "message": "message"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
    }
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

[
    {}
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

[
    {}
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
    }
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
        }
    }
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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