Luxor Documentation Hub Logo
Mining Pool

Knowledge base

Giving answer to frequently asked questions

v2 Permissions migration explained

With the release of the new v2 Permissions System, we carefully migrated all data from v1 to ensure that every user retains access to exactly the same content they had before. This continuity is achieved through the new individual subaccount permissions introduced in v2, which replace the old group-based permissions (now deprecated).

In v1, users had to create groups of subaccounts to grant access to multiple subaccounts at once. With v2, you can now assign permissions to individual subaccounts directly. This simplification makes the migration process seamless and straightforward.

For illustrative purposes, please find the example below.

  • Permissions in v1:
WorkspaceGroupSubaccountsUsers
Workspace W1G1S1, S2user_1 (owner), user_2 (admin), user_3 (standard)
Workspace W2G2S3user_1 (owner), user_2 (standard)
Workspace W3G3S4, S5user_2 (owner), user_1 (standard)
  • Permissions in v2, after the migration has been performed:
WorkspaceSubaccountUsers
Workspace W1S1user_1 (owner), user_2 (admin), user_3 (standard)
Workspace W1S2user_1 (owner), user_2 (admin), user_3 (standard)
Workspace W1S3user_1 (owner), user_2 (standard)
Workspace W2S4user_2 (owner), user_1 (standard)
Workspace W3S5user_2 (owner), user_1 (standard)

If something seems off or you're unable to access a subaccount you had access to in the legacy app, don't worry — our customer support team is here to help!

v1 to v2 API Migration guide

v1 High-level changes

  • Removing group_id from Reporting endpoints: most reporting endpoints support group_id in V1 as an optional query parameter for specifying which subaccounts to retrieve data for, with the deprecation of subaccount groups we are removing this parameter. Alternatively, users will be able to specify site_id if they have subaccounts linked to a Site.
  • Removing group_id from Subaccount endpoints: V1 subaccount endpoints require group_id as a URL path parameter, with the deprecation of subaccount groups we are removing this parameter. Alternatively, users will be able to specify site_id if they have subaccounts linked to a Site, via a query parameter.
  • Workspace model evolution: v1 already had GET /v1/workspace, but v2’s GET /v2/workspace changes the response shape — adding products and sites as first-class fields.
  • Group and permissions management endpoints: V1 endpoints for retrieving, deleting or updating groups, as well as assigning permissions to these, have been decommissioned. Instead users need to rely on new V2 endpoints.

v1 → v2 Endpoint Mapping

v1 Endpointv2 EquivalentDifferencesClient Action
Reporting
GET /v1/pool/summary/{currency_type}GET /v2/pool/summary/{currency_type}- Removed the optional query parameter group_id
- Added optional query parameter site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
GET /v1/pool/hashrate-efficiency/{currency_type}GET /v2/pool/hashrate-efficiency/{currency_type}- Removed the optional query parameter group_id
- Added optional query parameter site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
GET /v1/pool/revenue/{currency_type}GET /v2/pool/revenue/{currency_type}- Removed the optional query parameter group_id
- Added optional query parameter site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
GET /v1/pool/transactions/{currency_type}GET /v2/pool/transactions/{currency_type}- Removed the optional query parameter group_id
- Added optional query parameter site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
GET /v1/pool/workers/{currency_type}GET /v2/pool/workers/{currency_type}- Removed the optional query parameter group_id
- Added optional query parameter site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
GET /v1/pool/uptime/{currency_type}GET /v2/pool/uptime/{currency_type}- Removed the optional query parameter group_id
- Added optional query parameter site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
GET /v1/pool/active-workers/{currency_type}GET /v2/pool/active-workers/{currency_type}- Removed the optional query parameter group_id
- Added optional query parameter site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
GET /v1/pool/workers-hashrate-efficiency/{currency_type}GET /v2/pool/workers-hashrate-efficiency/{currency_type}No changesNone
GET /v1/pool/pool-stats/{currency_type}GET /v2/pool/pool-stats/{currency_type}No changesNone
GET /v1/pool/dev-feeGET /v2/pool/dev-feeNo changesNone
Payments
GET /v1/pool/payment-settings/{currency_type}GET /v2/pool/payment-settings/{currency_type}No changesNone
GET /v1/pool/payment-settings/{currency_type}/{subaccount_name}GET /v2/pool/payment-settings/{currency_type}/{subaccount_name}No changesNone
POST /v1/pool/payment-settings/{currency_type}/{subaccount_name}POST /v2/pool/payment-settings/{currency_type}/{subaccount_name}No changesNone
PUT /v1/pool/payment-settings/{currency_type}/{subaccount_name}PUT /v2/pool/payment-settings/{currency_type}/{subaccount_name}No changesNone
DELETE /v1/pool/payment-settings/{currency_type}/{subaccount_name}DELETE /v2/pool/payment-settings/{currency_type}/{subaccount_name}No changesNone
GET /v1/pool/transactions/{currency_type}GET /v2/pool/transactions/{currency_type}- Removed the optional query parameter group_id
- Added optional query parameter site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
Stop using group_id parameter for specifying subaccounts for which to pull data, instead use subaccount_names or site_id
Subaccounts
POST /v1/pool/groups/{group_id}/subaccounts/{subaccount_name}POST /v2/pool/subaccounts?site_id=…- Removed the URL parameter group_id
- Added optional query parameter site_id
No longer use group_id to identify subaccount to create, instead you can use the optional parameter site_id (if the subaccount is associated to a site)
No longer use group_id to identify subaccount to create, instead you can use the optional parameter site_id (if the subaccount is associated to a site)
GET /v1/pool/groups/{group_id}/subaccounts/{subaccount_name}GET /v2/pool/subaccounts?site_id=…- Removed the URL parameter group_id
- Added optional query parameter site_id
No longer use group_id to identify subaccount to create, instead you can use the optional parameter site_id (if the subaccount is associated to a site)
No longer use group_id to identify subaccount to create, instead you can use the optional parameter site_id (if the subaccount is associated to a site)
DELETE /v1/pool/groups/{group_id}/subaccounts/{subaccount_name}DEL /v2/pool/subaccounts?site_id=…- Removed the URL parameter group_id
- Added optional query parameter site_id
No longer use group_id to identify subaccount to create, instead you can use the optional parameter site_id (if the subaccount is associated to a site)
No longer use group_id to identify subaccount to create, instead you can use the optional parameter site_id (if the subaccount is associated to a site)
Workspace
GET /v1/workspaceGET /v2/workspacev1 returned Workspace members and subaccounts nested inside groups. v2 lists products and sites available in a Workspace, but access to members and subaccounts is done through different endpoints: GET /v2/workspace/members and GET /v2/pool/subaccountsProcess results differently, to access members and subaccounts inside a Workspace use GET /v2/workspace/members and GET /v2/pool/subaccounts
GET /v1/workspace/groups/{group_id}NoneEndpoint removedRemove the call to this endpoint, if you want to group subaccounts for permissions / reporting purposes, consider using Sites
POST /v1/workspace/groups/{group_id}NoneEndpoint removedRemove the call to this endpoint, if you want to group subaccounts for permissions / reporting purposes, consider using Sites
PATCH /v1/workspace/groups/{group_id}NoneEndpoint removedRemove the call to this endpoint, if you want to group subaccounts for permissions / reporting purposes, consider using Sites
DELETE /v1/workspace/groups/{group_id}NoneEndpoint removedRemove the call to this endpoint, if you want to group subaccounts for permissions / reporting purposes, consider using Sites
GET /v1/workspace/groups/{group_id}/membersNoneEndpoint removedRemove the call to this endpoint, if you want to retrieve a user within a Workspace, use GET /v2/workspace/members/{member_id} instead, to retrieve his permissions use GET /v2/workspace/members/{member_id}/permissions
POST /v1/workspace/groups/{group_id}/membersNoneEndpoint removedRemove the call to this endpoint, if you want to invite a user to the Workspace use POST /v2/workspace/members/{member_id}/permissions/{permission_id} instead
PATCH /v1/workspace/groups/{group_id}/membersNoneEndpoint removedRemove the call to this endpoint, if you want to update role of a member use PATCH /v2/workspace/members/{member_id}/permissions instead
DELETE /v1/workspace/groups/{group_id}/membersNoneEndpoint removedRemove the call to this endpoint, if you want to remove a user from the Workspace use DELETE /v2/workspace/members/{member_id} instead
GET /v1/workspace/actions/GET /v2/workspace/actions/Removed the mandatory query parameter group_idRemove the mandatory query parameter group_id from the request
GET /v1/workspace/actions/{action_id}GET /v2/workspace/actions/{action_id}No changesNone
PATCH /v1/workspace/actions/{action_id}PATCH /v2/workspace/actions/{action_id}No changesNone
GET /v1/workspace/watcher-linksGET /v2/workspace/watcher-linksNo changesNone
GET /v1/workspace/watcher-links/{watcherlink_id}GET /v2/workspace/watcher-links/{watcherlink_id}No changesNone
POST /v1/workspace/watcher-linksPOST /v2/workspace/watcher-linksNo changesNone
DELETE /v1/workspace/watcher-links/{watcherlink_id}DELETE /v2/workspace/watcher-links/{watcherlink_id}No changesNone

On this page