openapi: 3.0.0 info: title: Fireblocks Blockchains and Assets Approval Requests Workspace Management API description: 'Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) ' version: 1.8.0 contact: email: developers@fireblocks.com servers: - url: https://api.fireblocks.io/v1 description: Fireblocks Production Environment Base URL - url: https://sandbox-api.fireblocks.io/v1 description: Fireblocks Sandbox Environment Base URL security: [] tags: - name: Workspace Management paths: /workspace/freeze: post: x-internal: true operationId: freezeWorkspace summary: Freeze description: "Freezes a Workspace so that ALL operations by ANY user are blocked.\nYou should only perform this action when the workspace faces imminent risk, such as when you have a security breach.\nTo unfreeze a workspace, the workspace Owner must submit a request to Fireblocks Support.\n**NOTE:** \n- This operation can only be performed by the workspace Admins - Your workspace continues to receive incoming transfers during this time.\n
Endpoint Permission: Admin, Non-Signing Admin." tags: - Workspace Management parameters: - $ref: '#/components/parameters/X-Idempotency-Key' responses: '204': description: Indicates that the workspace is now frozen headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: python label: Python source: vault_accounts = fireblocks.get_vault_accounts() - lang: javascript label: Javascript source: const vaultAccounts = await fireblocks.getVaultAccounts(); /management/user_groups: get: operationId: getUserGroups summary: List user groups description: 'Get all user groups in your workspace - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.userGroupsBeta.getUserGroups();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.userGroupsBeta().getUserGroups(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.user_groups_beta.get_user_groups(); name: Fireblocks SDK Python example tags: - Workspace Management responses: '200': description: List of the user groups in your workspace headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UserGroupsResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.userGroupsBeta.getUserGroups();' - lang: Java source: CompletableFuture>> response = fireblocks.userGroupsBeta().getUserGroups(); - lang: Python source: response = fireblocks.user_groups_beta.get_user_groups(); post: operationId: createUserGroup summary: Create user group description: 'Create a new user group. Users with the Viewer role cannot be added to groups.
Endpoint Permission: Admin, Non-Signing Admin.' x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.userGroupsBeta.createUserGroup(userGroupsBetaApiCreateUserGroupRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.userGroupsBeta().createUserGroup(userGroupCreateRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.user_groups_beta.create_user_group(user_group_create_request, idempotency_key); name: Fireblocks SDK Python example tags: - Workspace Management parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserGroupCreateRequest' responses: '201': description: User group created and pending approval headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateUserGroupResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.userGroupsBeta.createUserGroup(userGroupsBetaApiCreateUserGroupRequest);' - lang: Java source: CompletableFuture> response = fireblocks.userGroupsBeta().createUserGroup(userGroupCreateRequest, idempotencyKey); - lang: Python source: response = fireblocks.user_groups_beta.create_user_group(user_group_create_request, idempotency_key); /management/user_groups/{groupId}: get: operationId: getUserGroup summary: Get user group description: 'Get a user group by ID - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management parameters: - in: path required: true name: groupId description: The ID of the user group schema: type: string example: 777d084b-e1d5-4040-8d73-38c8f8a321b2 responses: '200': description: User group headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UserGroupResponse' default: $ref: '#/components/responses/Error' x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.userGroupsBeta.getUserGroup(userGroupsBetaApiGetUserGroupRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.userGroupsBeta().getUserGroup(groupId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.user_groups_beta.get_user_group(group_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.userGroupsBeta.getUserGroup(userGroupsBetaApiGetUserGroupRequest);' - lang: Java source: CompletableFuture> response = fireblocks.userGroupsBeta().getUserGroup(groupId); - lang: Python source: response = fireblocks.user_groups_beta.get_user_group(group_id); put: operationId: updateUserGroup summary: Update user group description: 'Update a user group by ID - Please note that this endpoint is available only for API keys with Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management parameters: - in: path required: true name: groupId description: The ID of the user group schema: type: string example: 777d084b-e1d5-4040-8d73-38c8f8a321b2 - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserGroupUpdateRequest' responses: '200': description: User group updated and the changes are pending approval headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UserGroupCreateResponse' default: $ref: '#/components/responses/Error' x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.userGroupsBeta.updateUserGroup(userGroupsBetaApiUpdateUserGroupRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.userGroupsBeta().updateUserGroup(userGroupUpdateRequest, groupId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.user_groups_beta.update_user_group(user_group_update_request, group_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.userGroupsBeta.updateUserGroup(userGroupsBetaApiUpdateUserGroupRequest);' - lang: Java source: CompletableFuture> response = fireblocks.userGroupsBeta().updateUserGroup(userGroupUpdateRequest, groupId, idempotencyKey); - lang: Python source: response = fireblocks.user_groups_beta.update_user_group(user_group_update_request, group_id, idempotency_key); delete: operationId: deleteUserGroup summary: Delete user group description: 'Delete a user group by ID.
- Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management parameters: - in: path required: true name: groupId description: The ID of the user group schema: type: string example: 777d084b-e1d5-4040-8d73-38c8f8a321b2 responses: '204': description: Request to delete user group submitted for approval headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.userGroupsBeta.deleteUserGroup(userGroupsBetaApiDeleteUserGroupRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.userGroupsBeta().deleteUserGroup(groupId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.user_groups_beta.delete_user_group(group_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.userGroupsBeta.deleteUserGroup(userGroupsBetaApiDeleteUserGroupRequest);' - lang: Java source: CompletableFuture> response = fireblocks.userGroupsBeta().deleteUserGroup(groupId); - lang: Python source: response = fireblocks.user_groups_beta.delete_user_group(group_id); /users: get: summary: List users deprecated: true description: 'DEPRECATED - please use `GET /management/users` instead
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management x-readme: code-samples: - language: javascript code: const users = await fireblocks.getUsers(); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.users.getUsers();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.users().getUsers(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.users.get_users(); name: Fireblocks SDK Python example responses: '200': description: List of users headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetUsersResponse' default: $ref: '#/components/responses/Error' operationId: getUsers x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.users.getUsers();' - lang: Java source: CompletableFuture>> response = fireblocks.users().getUsers(); - lang: Python source: response = fireblocks.users.get_users(); /audits: get: summary: Get audit logs deprecated: true description: 'Deprecated. Please use the `GET /management/audit_logs` endpoint instead.
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management x-readme: code-samples: - language: python code: audits = fireblocks.get_audit_logs(TimePeriod.DAY) name: Fireblocks SDK Python example - language: javascript code: const audits = await fireblocks.getAuditsLogs(TimePeriod.DAY); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.getAudits(workspaceManagementApiGetAuditsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().getAudits(timePeriod); name: Fireblocks SDK Java example parameters: - in: query name: timePeriod required: false description: The last time period to fetch audit logs schema: type: string enum: - DAY - WEEK responses: '200': description: Audit logs from requested time period headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetAuditLogsResponseDTO' default: $ref: '#/components/responses/Error' operationId: getAudits x-codeSamples: - lang: python label: Python source: audits = fireblocks.get_audit_logs(TimePeriod.DAY) - lang: javascript label: Javascript source: const audits = await fireblocks.getAuditsLogs(TimePeriod.DAY); /management/audit_logs: get: summary: Get audit logs description: 'Get Audit logs for the last Day/Week. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.auditLogs.getAuditLogs(auditLogsApiGetAuditLogsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.auditLogs().getAuditLogs(timePeriod, cursor); name: Fireblocks SDK Java example - language: python code: response = fireblocks.audit_logs.get_audit_logs(time_period, cursor); name: Fireblocks SDK Python example parameters: - in: query name: timePeriod required: false description: The last time period to fetch audit logs schema: type: string enum: - DAY - WEEK - in: query name: cursor required: false description: The next id to start fetch audit logs from schema: type: string example: next_page_cursor responses: '200': description: Audit logs from requested time period headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetAuditLogsResponse' default: $ref: '#/components/responses/Error' operationId: getAuditLogs x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.auditLogs.getAuditLogs(auditLogsApiGetAuditLogsRequest);' - lang: Java source: CompletableFuture> response = fireblocks.auditLogs().getAuditLogs(timePeriod, cursor); - lang: Python source: response = fireblocks.audit_logs.get_audit_logs(time_period, cursor); /admin_quorum: put: x-internal: true operationId: setAdminQuorumThreshold summary: Update admin quorum threshold description: 'Update admin quorum threshold.
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management x-readme: code-samples: - language: javascript code: const result = await fireblocks.setAdminQuorumThreshold(adminQuorumThreshold) name: Fireblocks SDK Javascript example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetAdminQuorumThresholdRequest' responses: '202': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetAdminQuorumThresholdResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: python label: Python source: result = fireblocks.set_admin_quorum_threshold(adminQuorumThreshold) - lang: javascript label: Javascript source: 'const result = await fireblocks.setAdminQuorumThreshold(adminQuorumThreshold) ' /management/ota: put: operationId: setOtaStatus summary: Enable or disable transactions to OTA description: 'Enable or disable transactions to One Time Addresses (Non Whitelisted addresses). Learn more about [One Time Addresses](https://support.fireblocks.io/hc/en-us/articles/4409104568338-One-Time-Address-OTA-feature) - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.oTABeta.setOtaStatus(oTABetaApiSetOtaStatusRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.oTABeta().setOtaStatus(setOtaStatusRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.o_t_a_beta.set_ota_status(set_ota_status_request, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetOtaStatusRequest' responses: '202': description: Successfully updated OTA status headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetOtaStatusResponse' '400': description: Bad request '409': description: Similar request already pending '500': description: Internal server error tags: - Workspace Management x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.oTABeta.setOtaStatus(oTABetaApiSetOtaStatusRequest);' - lang: Java source: CompletableFuture> response = fireblocks.oTABeta().setOtaStatus(setOtaStatusRequest, idempotencyKey); - lang: Python source: response = fireblocks.o_t_a_beta.set_ota_status(set_ota_status_request, idempotency_key); get: operationId: getOtaStatus summary: Returns current OTA status description: 'Returns current One Time Address status. Learn more about [One Time Addresses](https://support.fireblocks.io/hc/en-us/articles/4409104568338-One-Time-Address-OTA-feature) - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.oTABeta.getOtaStatus();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.oTABeta().getOtaStatus(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.o_t_a_beta.get_ota_status(); name: Fireblocks SDK Python example responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetOtaStatusResponse' description: Current OTA status '404': description: Configuration not found for the workspace tags: - Workspace Management x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.oTABeta.getOtaStatus();' - lang: Java source: CompletableFuture> response = fireblocks.oTABeta().getOtaStatus(); - lang: Python source: response = fireblocks.o_t_a_beta.get_ota_status(); /management/workspace_status: get: operationId: getWorkspaceStatus summary: Returns current workspace status description: 'Returns current workspace status (Beta). **Note**: - This endpoint is now in Beta, disabled for general availability at this time. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetWorkspaceStatusResponse' description: Current workspace status '404': description: Workspace not found tags: - Workspace Management x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.workspaceStatusBeta.getWorkspaceStatus();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceStatusBeta().getWorkspaceStatus(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.workspace_status_beta.get_workspace_status(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.workspaceStatusBeta.getWorkspaceStatus();' - lang: Java source: CompletableFuture> response = fireblocks.workspaceStatusBeta().getWorkspaceStatus(); - lang: Python source: response = fireblocks.workspace_status_beta.get_workspace_status(); /management/users: get: operationId: getConsoleUsers summary: Get console users description: 'Get console users for your workspace. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management x-readme: code-samples: - language: javascript code: const consoleUsers = await fireblocks.getConsoleUsers(); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.consoleUser.getConsoleUsers();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.consoleUser().getConsoleUsers(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.console_user.get_console_users(); name: Fireblocks SDK Python example responses: '200': description: got console users headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetConsoleUsersResponse' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.consoleUser.getConsoleUsers();' - lang: Java source: CompletableFuture> response = fireblocks.consoleUser().getConsoleUsers(); - lang: Python source: response = fireblocks.console_user.get_console_users(); post: operationId: createConsoleUser summary: Create console user description: 'Create console users in your workspace - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Learn more about Fireblocks Users management in the following [guide](https://developers.fireblocks.com/docs/manage-users).
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management x-readme: code-samples: - language: javascript code: const res = await fireblocks.createConsoleUser(firstName, lastName, email, role); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.consoleUser.createConsoleUser(consoleUserApiCreateConsoleUserRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.consoleUser().createConsoleUser(createConsoleUser, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.console_user.create_console_user(create_console_user, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateConsoleUser' responses: '200': description: User creation approval request has been sent headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '400': description: bad request headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.consoleUser.createConsoleUser(consoleUserApiCreateConsoleUserRequest);' - lang: Java source: CompletableFuture> response = fireblocks.consoleUser().createConsoleUser(createConsoleUser, idempotencyKey); - lang: Python source: response = fireblocks.console_user.create_console_user(create_console_user, idempotency_key); /management/api_users: get: operationId: getApiUsers summary: Get API Keys description: 'List all API keys in your workspace. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management x-readme: code-samples: - language: javascript code: const apiUsers = await fireblocks.getApiUsers(); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.apiUser.getApiUsers();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.apiUser().getApiUsers(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.api_user.get_api_users(); name: Fireblocks SDK Python example responses: '200': description: Successfully returned all API Keys headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetAPIUsersResponse' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.apiUser.getApiUsers();' - lang: Java source: CompletableFuture> response = fireblocks.apiUser().getApiUsers(); - lang: Python source: response = fireblocks.api_user.get_api_users(); post: operationId: createApiUser summary: Create API Key description: 'Create a new API key in your workspace. Learn more about Fireblocks API Keys management in the following [guide](https://developers.fireblocks.com/docs/manage-api-keys).
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management x-readme: code-samples: - language: javascript code: const res = await fireblocks.createApiUser(name, role, csrForNewUser, coSignerType, isFirstUser); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.apiUser.createApiUser(apiUserApiCreateApiUserRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.apiUser().createApiUser(createAPIUser, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.api_user.create_api_user(create_a_p_i_user, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAPIUser' responses: '200': description: User creation approval request has been sent headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '400': description: bad request headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.apiUser.createApiUser(apiUserApiCreateApiUserRequest);' - lang: Java source: CompletableFuture> response = fireblocks.apiUser().createApiUser(createAPIUser, idempotencyKey); - lang: Python source: response = fireblocks.api_user.create_api_user(create_a_p_i_user, idempotency_key); /management/users/{id}/reset_device: post: operationId: resetDevice summary: Resets device description: 'Resets mobile device for given console user, that user will need to do mobile onboarding again. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management x-readme: code-samples: - language: javascript code: const res = await fireblocks.resetDeviceRequest(consoleUserId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.resetDevice.resetDevice(resetDeviceApiResetDeviceRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.resetDevice().resetDevice(id, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.reset_device.reset_device(id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: id required: true description: The ID of the console user schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Reset device approval request has been sent headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.resetDevice.resetDevice(resetDeviceApiResetDeviceRequest);' - lang: Java source: CompletableFuture> response = fireblocks.resetDevice().resetDevice(id, idempotencyKey); - lang: Python source: response = fireblocks.reset_device.reset_device(id, idempotency_key); /management/api_users/{userId}/whitelist_ip_addresses: get: operationId: getWhitelistIpAddresses summary: Get whitelisted ip addresses for an API Key description: 'Get a list of the whitelisted IP addresses for a specific API Key - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin.' tags: - Workspace Management x-readme: code-samples: - language: javascript code: const whitelistedAddresses = await fireblocks.getWhitelistedAddresses(apiUserId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistIpAddresses.getWhitelistIpAddresses(whitelistIpAddressesApiGetWhitelistIpAddressesRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistIpAddresses().getWhitelistIpAddresses(userId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.whitelist_ip_addresses.get_whitelist_ip_addresses(user_id); name: Fireblocks SDK Python example parameters: - in: path name: userId required: true description: The ID of the api user schema: type: string example: ceb990eb-838d-4de0-accf-924e8132dd67 responses: '200': description: successfully got whitelisted ip addresses headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetWhitelistIpAddressesResponse' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.whitelistIpAddresses.getWhitelistIpAddresses(whitelistIpAddressesApiGetWhitelistIpAddressesRequest);' - lang: Java source: CompletableFuture> response = fireblocks.whitelistIpAddresses().getWhitelistIpAddresses(userId); - lang: Python source: response = fireblocks.whitelist_ip_addresses.get_whitelist_ip_addresses(user_id); components: schemas: SetOtaStatusResponse: oneOf: - type: object properties: message: type: string description: Message indicating the result of the operation for example when no config change is needed example: No change needed. The current status is false - type: string description: Message indicating the result of the operation when config was successfully updated example: Accepted ConsoleUser: type: object properties: id: $ref: '#/components/schemas/UserId' firstName: type: string description: The first name of the user example: Some First Name lastName: type: string description: The last name of the user example: Some Last Name email: type: string description: The email address of the user example: user@example.com role: $ref: '#/components/schemas/UserRole' enabled: $ref: '#/components/schemas/UserEnabled' status: $ref: '#/components/schemas/UserStatus' userType: $ref: '#/components/schemas/UserType' ConsoleUsers: type: array items: $ref: '#/components/schemas/ConsoleUser' AuditLogsData: type: array items: $ref: '#/components/schemas/AuditLogData' APIUserRole: type: string description: The role of the API Key enum: - ADMIN - SIGNER - COLLATERALS_SIGNER - EDITOR - APPROVER - VIEWER - NON_SIGNING_ADMIN - AUDITOR - NCW_ADMIN - NCW_SIGNER GetAPIUsersResponse: type: object properties: users: $ref: '#/components/schemas/APIUsers' required: - users UserStatus: type: string description: The status of the user enum: - PENDING_ACTIVATION - PENDING_DEVICE_PAIRING - PENDING_DEVICE_SETUP - READY GetConsoleUsersResponse: type: object properties: users: $ref: '#/components/schemas/ConsoleUsers' required: - users UserGroupCreateRequest: type: object properties: groupName: type: string description: User Group Name example: My User Group memberIds: type: array items: type: string example: - 1d8b04f3-f90b-406b-a4d8-71d5d16f6862 - 30e8a73a-6300-4b35-a11a-9c69341805fc GetOtaStatusResponse: type: object properties: enabled: type: boolean description: Current One Time Address feature status ErrorResponse: type: object properties: error: type: object properties: type: type: string enum: - INTERNAL - AUTHENTICATION - AUTHORIZATION - VALIDATION - NOT_FOUND - UNPROCESSABLE_ENTITY - FORBIDDEN message: type: string required: - type - message required: - error GetAuditLogsResponse: type: object properties: data: $ref: '#/components/schemas/AuditLogsData' cursor: nullable: true type: string description: The next id to start fetch audit logs from example: next-page-cursor total: type: number description: The total number of audit logs example: 32 SetOtaStatusRequest: type: object properties: enabled: type: boolean description: Set true or false to enable or disable OTA transactions UserGroupUpdateRequest: type: object properties: groupName: type: string description: User Group Name example: My User Group memberIds: type: array items: type: string example: - 1d8b04f3-f90b-406b-a4d8-71d5d16f6862 - 30e8a73a-6300-4b35-a11a-9c69341805fc UserEnabled: type: boolean description: Whether the user is enabled or not GetAuditLogsResponseDTO: type: object properties: data: type: array items: type: object total: type: number cursor: type: string nullable: true CreateUserGroupResponse: type: object properties: id: type: string description: User group unique identifier example: 4a7e7b16-c863-4b41-876f-c64f05c087d6 name: type: string description: User group name example: My User Group memberIds: type: array description: IDs of the users in the group items: type: string example: - 30e8a73a-6300-4b35-a11a-9c69341805fc - 1d8b04f3-f90b-406b-a4d8-71d5d16f6862 status: type: string description: User group status enum: - PENDING_APPROVAL - ACTIVE UserGroupResponse: type: object properties: id: description: User Group ID type: string example: f04402d0-00f1-48cb-acd0-352010f2e62f name: type: string description: User Group Name example: My Group Name status: type: string description: Group Approval Status enum: - PENDING_APPROVAL - ACTIVE memberIds: type: array items: type: string example: - 1d8b04f3-f90b-406b-a4d8-71d5d16f6862 - 30e8a73a-6300-4b35-a11a-9c69341805fc UserGroupCreateResponse: type: object properties: name: type: string description: User Group Name example: My User Group id: type: string description: User Group ID example: f04402d0-00f1-48cb-acd0-352010f2e62f memberIds: type: array description: User Group members (User IDs) items: type: string example: - 1d8b04f3-f90b-406b-a4d8-71d5d16f6862 - 30e8a73a-6300-4b35-a11a-9c69341805fc status: type: string description: Group Approval Status enum: - PENDING_APPROVAL - ACTIVE UserId: type: string description: The unique identifier of the user SetAdminQuorumThresholdRequest: type: object properties: adminQuorumThreshold: type: number description: The number of admins that will requires to approve an operation example: 1 UserRole: type: string description: The role of the user enum: - OWNER - ADMIN - SIGNER - COLLATERALS_SIGNER - EDITOR - APPROVER - VIEWER - NON_SIGNING_ADMIN - AUDITOR - NCW_ADMIN - NCW_SIGNER UserResponse: type: object properties: id: type: string firstName: type: string lastName: type: string role: type: string email: type: string enabled: type: boolean UserType: type: string description: The type of the user (API or Console) enum: - API - CONSOLE GetWorkspaceStatusResponse: type: object properties: status: type: string description: Current workspace status APIUsers: type: array items: $ref: '#/components/schemas/APIUser' GetUsersResponse: type: array items: $ref: '#/components/schemas/UserResponse' CreateAPIUser: type: object properties: role: $ref: '#/components/schemas/APIUserRole' name: type: string description: User Name example: MyAPIEditor csrPem: type: string description: "API requests are authenticated by providing in each request:\n a. API Key in the `X-API-Key` header\n b. Auth header - `Authorization: Bearer ` while the JWT is signed with an RSA 4096 private key.\n\nWhen creating a new API Key, you need to generate an RSA 4096 private key and a CSR file. \nThe CSR file is uploaded to Fireblocks upon the user creation and used later on for signature validation (Auth JWT signature validation).\n\nFor more info read the following [article](https://developers.fireblocks.com/docs/manage-api-keys)\n" example: '-----BEGIN CERTIFICATE REQUEST-----aaa-----END CERTIFICATE REQUEST-----' coSignerSetupType: type: string description: 'Required for Signer/Admin API users that planned to be paired with an API Co-Signer Machine. - SGX_MACHINE: For SGX enabled servers - FIREBLOCKS_CCMT: Fireblocks Communal Co-Signer (for Testnet workspaces only) - NITRO_MACHINE: For AWS Nitro Enclave enabled servers - GCP_CONFIDENTIAL_SPACE: For GCP Confidential Space servers For more information about Fireblocks Co-Signer setup please read the following [article](https://support.fireblocks.io/hc/en-us/articles/12006018592156-API-Co-Signer-Overview). ' enum: - SGX_MACHINE - FIREBLOCKS_CCMT - NITRO_MACHINE coSignerSetupIsFirstUser: type: boolean description: Pass as `true`` if this is the first user on the your Co-Signer machine required: - role - name - csrPem APIUser: type: object properties: id: $ref: '#/components/schemas/UserId' name: type: string description: The name of the API Key example: My API Key role: $ref: '#/components/schemas/APIUserRole' enabled: $ref: '#/components/schemas/UserEnabled' status: $ref: '#/components/schemas/UserStatus' userType: $ref: '#/components/schemas/UserType' AuditLogData: type: object properties: id: type: string description: The unique identifier of the audit log timestamp: type: number description: The timestamp of the audit log createdAt: type: number description: The timestamp of the audit log creation user: type: string description: The user who performed the action subject: type: string description: The subject of the action event: type: string description: The event that was performed tenantId: type: string description: The tenant ID of the audit log userId: type: string description: The user ID of the audit log CreateConsoleUser: type: object properties: firstName: type: string description: User's first name example: Some First Name lastName: type: string description: User' last name example: Some Last Name role: $ref: '#/components/schemas/UserRole' email: type: string description: User's valid email address example: user@example.com required: - firstName - lastName - role - email GetWhitelistIpAddressesResponse: type: object properties: userId: type: string description: The ID of the user example: ceb990eb-838d-4de0-accf-924e8132dd67 whitelistedIps: nullable: true type: array items: type: string example: - 246.59.202.145 - 170.198.11.101 description: List of whitelisted ip addresses SetAdminQuorumThresholdResponse: type: object properties: message: type: string description: The message which indicates the result of the operation. example: Admin quorum threshold request sent successfully. required: - message UserGroupsResponse: type: array items: $ref: '#/components/schemas/UserGroupResponse' responses: Error: description: Error Response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorSchema' parameters: X-Idempotency-Key: name: Idempotency-Key in: header description: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. required: false schema: type: string example: some-unique-id securitySchemes: bearerTokenAuth: type: http scheme: bearer bearerFormat: JWT ApiKeyAuth: type: apiKey in: header name: X-API-Key