Models are listed once here and can also be expanded directly from the endpoints that use them.
Keyword3 fields
idinteger · int64
Id.
namestring
Name.
usingQuantityinteger · int32
Using Quantity.
KeywordGroup3 fields
idinteger · int64
Id.
namestring
Name.
keywordsKeyword[]
Keywords.
KeywordAndGroup2 fields
keywordKeyword[]
Keyword.
groupKeywordGroup[]
Group.
Error contract
How application errors are returned
The error code is identical in every locale, while the user-facing message is translated by the server. Build application logic around error and use localMessage for display only.
error
Stable machine-readable code for integration logic.
localMessage
Display-ready message in the API token user's language.
params
Values interpolated by the server into the localized message template.
文
localMessage uses the lang field of the user who owns the API token. The documentation language and Accept-Language header do not change it; Russian is used when the user has no language configured.
RUUser locale is ru
{
"error": "error_brand_already_exists",
"localMessage": "Бренд Base уже существует",
"params": {
"name": "Base"
}
}
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
PUT
Edit Keyword Group By Id
/api/keyword/group/{groupId}
Token with write access
Edit Keyword Group By Id using PUT /api/keyword/group/{groupId}.
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
DELETE
Delete Keyword Group
/api/keyword/group/{groupId}
Token with write access
Delete Keyword Group using DELETE /api/keyword/group/{groupId}.
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
GET
Get Keyword Group
/api/keyword/group
Token with read access
Get Keyword Group using GET /api/keyword/group.
curl --request GET 'https://api.selsup.ru/api/keyword/group' \
--header 'Authorization: YOUR_API_TOKEN'
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
400error_no_client
The client was not found or has been deleted. Write to support
Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.
POST
Create Keyword Group
/api/keyword/group
Token with write access
Create Keyword Group using POST /api/keyword/group.
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
DELETE
Delete Keyword Groups
/api/keyword/group
Token with write access
Delete Keyword Groups using DELETE /api/keyword/group.
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
POST
Merge Keyword Groups
/api/keyword/group/merge
Token with write access
Merge Keyword Groups using POST /api/keyword/group/merge.
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
400error_empty_group_name
The name of the keyword group cannot be empty
Endpoint-specific error. Use the stable error_empty_group_name code in application logic; localMessage contains the translation shown above.
400error_empty_keywords_groups
The keyword group is empty
Endpoint-specific error. Use the stable error_empty_keywords_groups code in application logic; localMessage contains the translation shown above.
400error_need_at_least_two_groups
at least two groups required
Endpoint-specific error. Use the stable error_need_at_least_two_groups code in application logic; localMessage contains the translation shown above.
400error_no_client
The client was not found or has been deleted. Write to support
Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.
GET
Get Keyword For Entity
/api/keyword/{modelId}
Token with read access
Get Keyword For Entity using GET /api/keyword/{modelId}.
Path parameters
Field
Type
Required
Description
modelId
integer · int64
Yes
Model Id.
curl --request GET 'https://api.selsup.ru/api/keyword/1001' \
--header 'Authorization: YOUR_API_TOKEN'
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
GET
Find Keyword Group
/api/keyword/group/find
Token with read access
Find Keyword Group using GET /api/keyword/group/find.
Query parameters
Field
Type
Required
Description
word
string
Yes
Word.
curl --request GET 'https://api.selsup.ru/api/keyword/group/find?word=string' \
--header 'Authorization: YOUR_API_TOKEN'
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
DELETE
Delete Keyword Group From Entity
/api/keyword/model/{modelId}
Token with write access
Delete Keyword Group From Entity using DELETE /api/keyword/model/{modelId}.
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.
DELETE
Delete Keyword From Group
/api/keyword/group/{groupId}/keywords
Token with write access
Delete Keyword From Group using DELETE /api/keyword/group/{groupId}/keywords.
Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑
401auth_required
Authentication required
Authorization is missing, empty, or contains an invalid token.
400error_access_denied
Insufficient permissions
The token exists, but its role cannot perform this operation.
500error_unknown
Unexpected error
Internal failure. Save the request time and contact support; do not blindly retry a mutation.