Sub-Account Management
Sub-Account Management API provides endpoints to manage user sub-accounts, including creation, modification, deletion, access configuration, limits management, and project sharing.
List sub-accounts
GET https://api4.seranking.com/users
Returns a list of all sub-accounts associated with the authenticated user.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | Integer | No | Number of records per page. Defaults to 100. |
| offset | Integer | No | Number of records to skip for pagination. |
Request example
GET https://api4.seranking.com/users?limit=100&offset=0Response parameters
If successful, the server returns the 200 HTTP status code and a list of sub-accounts.
| Parameter | Type | Description |
|---|---|---|
| list | Array | Array of sub-account objects. |
| all_count | String | Total number of sub-accounts. |
Each object in the list array has the following structure:
| Parameter | Type | Description |
|---|---|---|
| account_id | Integer | Unique sub-account ID. |
| account_email | String | Sub-account email. |
| account_first_name | String | Sub-account first name. |
| account_last_name | String | Sub-account last name. |
| account_type | String | Account type: user or client. |
| account_lang | String | Account language (ISO 639-1 alpha-2). |
| account_sites_count | Integer | Number of websites available to the sub-account. |
| is_blocked_by_limits | Boolean | Indicates whether limits are exceeded. |
Response example
{
"list": [
{
"account_id": 36865,
"account_email": "[email protected]",
"account_first_name": "John",
"account_last_name": "Doe",
"account_type": "user",
"account_lang": "ru",
"account_sites_count": 2,
"is_blocked_by_limits": false
},
{
"account_id": 36828,
"account_email": "[email protected]",
"account_first_name": "Jane",
"account_last_name": "Doe",
"account_type": "client",
"account_lang": "ru",
"account_sites_count": 1,
"is_blocked_by_limits": false
}
],
"all_count": "2"
}Get sub-account details
GET https://api4.seranking.com/users/{id}
Returns extended information about the specified sub-account, including settings, access permissions, and limits.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | Integer | Yes | Unique sub-account ID (path parameter). |
Request example
GET https://api4.seranking.com/users/36828Response parameters
If successful, the server returns the 200 HTTP status code and sub-account details. Returns HTTP 404 if the sub-account is not found (for more information, see Error handling).
| Parameter | Type | Description |
|---|---|---|
| settings | Object | Sub-account profile information. |
| access | Array | List of enabled permissions. |
| limit | Object | Sub-account limits configuration. |
The settings object has the following structure:
| Parameter | Type | Description |
|---|---|---|
| account_id | Integer | Unique sub-account ID. |
| account_email | String | Sub-account email. |
| account_first_name | String | Sub-account first name. |
| account_last_name | String | Sub-account last name. |
| account_type | String | Account type: user or client. |
| account_lang | String | Account language (ISO 639-1 alpha-2). |
The access array can list the following permissions:
| Permission | Description |
|---|---|
| add_website | Add website |
| audit_website | Website audit |
| competitors_visibility_ranking | Visibility ranking |
| audit_settings | Audit settings |
| backlink_monitor | Backlink monitor |
| analytics_conversions | Analytics: conversions |
| analytics_google_search_console | Google search console |
| competitors_added | Main competitors |
| analytics_overview | Analytics: overview |
| analytics_pages | Analytics: pages |
| marketing_plan | Marketing plan |
| seo_potential | SEO potential |
| analytics_snippets | Analytics: snippet |
| social_media | Social media |
| tools_backlinks_checker | Tools: backlinks checker |
| tools_index_status_checker | Tools: index status checker |
| tools_parameter_checker | Tools: parameter checker |
| tools_keyword_grouper | Tools: keyword grouper |
| tools_engine_autocomplete | Tools: engine autocomplete |
| tools_search_volume_checker | Tools: search volume checker |
| tools_competitive_research | Tools: competitive research |
| tools_keyword_research | Tools: keyword research |
| tools_one_page_seo_checker | Tools: one-page seo checker |
| competitors_serp | Competitors serp |
| analytics_traffic_sources | Analytics: traffic sources |
| analytics_audience | Analytics: audience |
| audit_page_changes_monitor | Audit: page changes monitor |
| hide_search_volume | hide search volume for client account type |
| show_groups | Show groups |
| report_manual | Report manual |
| report_scheduled | Report scheduled |
| report_template | Report template |
The limit object has the following structure:
| Parameter | Type | Description |
|---|---|---|
| site | Integer | Website limit. |
| keyword | Integer | Keyword limit. |
| backlink | Integer | Backlink check limit. |
| audit_account | Integer | Website verification limit per account. |
| audit_site | Integer | Website check limit per site per month. |
| balance | Object | Payment limit configuration. |
The balance object has the following structure:
| Parameter | Type | Description |
|---|---|---|
| amount | Integer | Monetary limit value. |
| period | String | Limit period: day, week, or month. |
Response example
{
"settings": {
"account_id": 36828,
"account_email": "[email protected]",
"account_first_name": "Test",
"account_last_name": "Test",
"account_type": "user",
"account_lang": "ru"
},
"access": [
"add_website",
"audit_settings",
"report_manual",
"report_scheduled",
"report_template"
],
"limit": {
"site": 10,
"keyword": 5,
"backlink": 10,
"audit_account": 4,
"audit_site": 3,
"balance": {
"amount": 5,
"period": "day"
}
}
}Create sub-account
POST https://api4.seranking.com/users
Creates a new sub-account and sends a notification email to the specified sub-account address.
Request parameters
The request body must contain a data object with sub-account configuration.
| Parameter | Type | Required | Description |
|---|---|---|---|
| setting.account_email | String | Yes | Sub-account email. |
| setting.account_first_name | String | Yes | Sub-account first name. |
| setting.account_last_name | String | No | Sub-account last name. |
| setting.account_password | String | Yes | Sub-account password. |
| setting.account_lang | String | No | Sub-account language (ISO 639-1 alpha-2). |
| setting.account_type | String | No | Account type: user or client. |
| limit.balance.period | String | No | Limit period: day, week, month. |
| limit.balance.amount | Integer | No | Monetary limit value. |
| access | Array | No | List of permission codes. |
Request example
POST https://api4.seranking.com/users
[
{
"key": "data",
"value": [
{"setting.account_email": "[email protected]"},
{"setting.account_first_name": "Test"},
{"setting.account_last_name": "Test"},
{"setting.account_password": "TestPassword"},
{"setting.account_type": "user"},
{"limit.balance.period": "day"},
{"limit.balance.amount": 10},
{"access": [
"add_website",
"audit_settings",
"report_manual",
"report_scheduled",
"report_template"
]}
]
}
]Response parameters
If successful, the server returns the 201 HTTP status code and the created sub-account identifier.
| Parameter | Type | Description |
|---|---|---|
| id | Integer | Unique sub-account ID. |
Response example
{ "id": 36872}Delete sub-account
DELETE https://api4.seranking.com/users/{id}
Deletes a sub-account.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | Integer | Yes | Unique sub-account ID (path parameter). |
Request example
DELETE https://api4.seranking.com/users/123Response parameters
If successful, the server returns an empty array. Returns HTTP 404 if the sub-account is not found (for more information, see Error handling).
Response example
[]Update sub-account
PATCH https://api4.seranking.com/users/{id}
Updates an existing sub-account.
Request parameters
The request body must contain a data object with sub-account configuration.
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | Integer | Yes | Unique sub-account ID (path parameter). |
| setting.account_email | String | No | Sub-account email. |
| setting.account_first_name | String | No | Sub-account first name. |
| setting.account_last_name | String | No | Sub-account last name. |
| setting.account_password | String | No | Sub-account password. |
| setting.account_lang | String | No | Sub-account language (ISO 639-1 alpha-2). |
| setting.account_type | String | No | Account type: user or client. |
| limit.balance.period | String | No | Limit period: day, week, month. |
| limit.balance.amount | Integer | No | Monetary limit value. |
| access | Array | No | List of permission codes. |
Request example
PATCH https://api4.seranking.com/users/36828
[
{
"key":"data",
"value": [
{"setting.account_email":"[email protected]"},
{"setting.account_first_name":"Test"},
{"setting.account_last_name":"Test"},
{"setting.account_password":"TestPassword"},
{"setting.account_type":"user"},
{"limit.balance.period":"day"},
{"limit.balance.amount":10},
{"access":["add_website"]}
]
}
]Response parameters
If successful, the server returns an empty array. Returns HTTP 404 if the sub-account is not found (for more information, see Error handling).
Response example
[]List shared projects
GET https://api4.seranking.com/users/{id}/shared-sites
Returns website IDs shared with the sub-account.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | Integer | Yes | Unique sub-account ID (path parameter). |
Request example
GET https://api4.seranking.com/users/123/shared-sitesResponse parameters
If successful, the server returns the 200 HTTP status code and an array of website IDs.
Response example
[ 39, 44]List owned projects
GET https://api4.seranking.com/users/{id}/own-sites
Returns a list of website IDs owned by the specified sub-account.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | Integer | Yes | Unique sub-account ID (path parameter). |
Request example
GET https://api4.seranking.com/users/123/own-sitesResponse parameters
If successful, the server returns an array of unique website IDs.
Response example
[ 39, 40]Share project with sub-account
POST https://api4.seranking.com/users/{id}/shared-sites
Shares websites with a sub-account.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | Integer | Yes | Unique sub-account ID (path parameter). |
| site_ids | Array | Yes | Array of website IDs to share. |
Request example
POST https://api4.seranking.com/users/36828/shared-sites
[39, 42]
Response parameters
If successful, the server returns an empty array.
Response example
[]