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:
| Workspace | Group | Subaccounts | Users |
|---|---|---|---|
| Workspace W1 | G1 | S1, S2 | user_1 (owner), user_2 (admin), user_3 (standard) |
| Workspace W2 | G2 | S3 | user_1 (owner), user_2 (standard) |
| Workspace W3 | G3 | S4, S5 | user_2 (owner), user_1 (standard) |
- Permissions in v2, after the migration has been performed:
| Workspace | Subaccount | Users |
|---|---|---|
| Workspace W1 | S1 | user_1 (owner), user_2 (admin), user_3 (standard) |
| Workspace W1 | S2 | user_1 (owner), user_2 (admin), user_3 (standard) |
| Workspace W1 | S3 | user_1 (owner), user_2 (standard) |
| Workspace W2 | S4 | user_2 (owner), user_1 (standard) |
| Workspace W3 | S5 | user_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_idfrom Reporting endpoints: most reporting endpoints supportgroup_idin 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 specifysite_idif they have subaccounts linked to a Site. - Removing
group_idfrom Subaccount endpoints: V1 subaccount endpoints requiregroup_idas a URL path parameter, with the deprecation of subaccount groups we are removing this parameter. Alternatively, users will be able to specifysite_idif they have subaccounts linked to a Site, via a query parameter. - Workspace model evolution: v1 already had
GET /v1/workspace, but v2’sGET /v2/workspacechanges the response shape — addingproductsandsitesas 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 Endpoint | v2 Equivalent | Differences | Client 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_idStop 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_idStop 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_idStop 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_idStop 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_idStop 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_idStop 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_idStop 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 changes | None |
GET /v1/pool/pool-stats/{currency_type} | GET /v2/pool/pool-stats/{currency_type} | No changes | None |
GET /v1/pool/dev-fee | GET /v2/pool/dev-fee | No changes | None |
| Payments | |||
GET /v1/pool/payment-settings/{currency_type} | GET /v2/pool/payment-settings/{currency_type} | No changes | None |
GET /v1/pool/payment-settings/{currency_type}/{subaccount_name} | GET /v2/pool/payment-settings/{currency_type}/{subaccount_name} | No changes | None |
POST /v1/pool/payment-settings/{currency_type}/{subaccount_name} | POST /v2/pool/payment-settings/{currency_type}/{subaccount_name} | No changes | None |
PUT /v1/pool/payment-settings/{currency_type}/{subaccount_name} | PUT /v2/pool/payment-settings/{currency_type}/{subaccount_name} | No changes | None |
DELETE /v1/pool/payment-settings/{currency_type}/{subaccount_name} | DELETE /v2/pool/payment-settings/{currency_type}/{subaccount_name} | No changes | None |
GET /v1/pool/transactions/{currency_type} | GET /v2/pool/transactions/{currency_type} | - Removed the optional query parameter group_id- Added optional query parameter site_idStop 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_idNo 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_idNo 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_idNo 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/workspace | GET /v2/workspace | v1 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/subaccounts | Process 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} | None | Endpoint removed | Remove the call to this endpoint, if you want to group subaccounts for permissions / reporting purposes, consider using Sites |
POST /v1/workspace/groups/{group_id} | None | Endpoint removed | Remove the call to this endpoint, if you want to group subaccounts for permissions / reporting purposes, consider using Sites |
PATCH /v1/workspace/groups/{group_id} | None | Endpoint removed | Remove the call to this endpoint, if you want to group subaccounts for permissions / reporting purposes, consider using Sites |
DELETE /v1/workspace/groups/{group_id} | None | Endpoint removed | Remove the call to this endpoint, if you want to group subaccounts for permissions / reporting purposes, consider using Sites |
GET /v1/workspace/groups/{group_id}/members | None | Endpoint removed | Remove 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}/members | None | Endpoint removed | Remove 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}/members | None | Endpoint removed | Remove 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}/members | None | Endpoint removed | Remove 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_id | Remove the mandatory query parameter group_id from the request |
GET /v1/workspace/actions/{action_id} | GET /v2/workspace/actions/{action_id} | No changes | None |
PATCH /v1/workspace/actions/{action_id} | PATCH /v2/workspace/actions/{action_id} | No changes | None |
GET /v1/workspace/watcher-links | GET /v2/workspace/watcher-links | No changes | None |
GET /v1/workspace/watcher-links/{watcherlink_id} | GET /v2/workspace/watcher-links/{watcherlink_id} | No changes | None |
POST /v1/workspace/watcher-links | POST /v2/workspace/watcher-links | No changes | None |
DELETE /v1/workspace/watcher-links/{watcherlink_id} | DELETE /v2/workspace/watcher-links/{watcherlink_id} | No changes | None |