API Reference¶
This section lists all the available API endpoints, that allow you to manage item catalog, users, their interactions and get recommendations.
Version:
4.1.1
Base URL: Based on the region of your database
API consumes:
application/json
API produces:
application/json
Authentication: HMAC (already implemented in the SDKs)
Items¶
The following methods allow you to maintain the set of items in the catalog. The items are specified using their ids, which are unique string identifiers matching ^[a-zA-Z0-9_-:@.]+$, i.e., they may consist of digits, Latin letters, underscores, colons, minus signs, at signs, and dots.
Add Item¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(AddItem(item_id))
client.send(AddItem.new(itemId))
client.send(new AddItem(String itemId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddItem(itemId), callback);
<?php
$client->send(new AddItem($item_id));
?>
client.Send(AddItem(string itemId));
PUT /{databaseId}/items/{itemId}
Adds new item of the given itemId
to the items catalog.
All the item properties for the newly created items are set to null.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the item to be created. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
The |
Delete Item¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteItem(item_id))
client.send(DeleteItem.new(itemId))
client.send(new DeleteItem(String itemId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteItem(itemId), callback);
<?php
$client->send(new DeleteItem($item_id));
?>
client.Send(DeleteItem(string itemId));
DELETE /{databaseId}/items/{itemId}
Deletes an item of the given itemId
from the catalog.
If there are any purchases, ratings, bookmarks, cart additions, or detail views of the item present in the database, they will be deleted in cascade as well. Also, if the item is present in some series, it will be removed from all the series where present.
If an item becomes obsolete/no longer available, it is meaningful to keep it in the catalog (along with all the interaction data, which are very useful), and only exclude the item from recommendations. In such a case, use ReQL filter instead of deleting the item completely.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the item to be deleted. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
The |
List Items¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListItems(
# optional parameters:
filter=<string>,
count=<integer>,
offset=<integer>,
return_properties=<boolean>,
included_properties=<array>
)
)
result = client.send(ListItems.new({
# optional parameters:
:filter => <string>,
:count => <integer>,
:offset => <integer>,
:return_properties => <boolean>,
:included_properties => <array>
})
)
Item[] result = client.send(new ListItems()
.setFilter(String filter)
.setCount(long count)
.setOffset(long offset)
.setReturnProperties(boolean returnProperties)
.setIncludedProperties(String[] includedProperties)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListItems({
// optional parameters:
'filter': <string>,
'count': <integer>,
'offset': <integer>,
'returnProperties': <boolean>,
'includedProperties': <array>
}), callback);
<?php
$result = $client->send(new ListItems([
// optional parameters:
'filter' => <string>,
'count' => <integer>,
'offset' => <integer>,
'returnProperties' => <boolean>,
'includedProperties' => <array>
])
);
?>
IEnumerable<Item> result = client.Send(ListItems(
// optional parameters:
filter: <string>,
count: <long>,
offset: <long>,
returnProperties: <bool>,
includedProperties: <string[]>
)
);
GET /{databaseId}/items/list/?filter=<string>&count=<integer>&offset=<integer>&returnProperties=<boolean>&includedProperties=<array>
Gets a list of IDs of items currently present in the catalog.
API calls limit: 100 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
query |
string |
No |
|
Boolean-returning ReQL expression, which allows you to filter items to be listed. Only the items for which the expression is true will be returned. |
||||
|
query |
integer |
No |
|
The number of items to be listed. |
||||
|
query |
integer |
No |
|
Specifies the number of items to skip (ordered by |
||||
|
query |
boolean |
No |
1.4.0 |
With Example response: [
{
"itemId": "tv-178",
"description": "4K TV with 3D feature",
"categories": ["Electronics", "Televisions"],
"price": 342,
"url": "myshop.com/tv-178"
},
{
"itemId": "mixer-42",
"description": "Stainless Steel Mixer",
"categories": ["Home & Kitchen"],
"price": 39,
"url": "myshop.com/mixer-42"
}
]
|
||||
|
query |
array |
No |
1.4.0 |
Allows specifying which properties should be returned when Example response for [
{
"itemId": "tv-178",
"description": "4K TV with 3D feature",
"price": 342
},
{
"itemId": "mixer-42",
"description": "Stainless Steel Mixer",
"price": 39
}
]
|
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
"item-1",
"item-2",
"item-3"
]
|
If present, |
Delete More Items¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(DeleteMoreItems(filter))
result = client.send(DeleteMoreItems.new(filter))
DeleteMoreItemsResponse result = client.send(new DeleteMoreItems(String filter));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteMoreItems(filter), callback);
<?php
$result = $client->send(new DeleteMoreItems($filter));
?>
DeleteMoreItemsResponse result = client.Send(DeleteMoreItems(string filter));
DELETE /{databaseId}/more-items/
Body (application/json):
{
"filter" => <string>
}
Deletes all the items that pass the filter.
If an item becomes obsolete/no longer available, it is meaningful to keep it in the catalog (along with all the interaction data, which are very useful) and only exclude the item from recommendations. In such a case, use ReQL filter instead of deleting the item completely.
Since version 3.3.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
3.3.0 |
ID of your database. |
||||
|
body |
string |
Yes |
3.3.0 |
A ReQL expression, which returns |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"itemIds": [
"item-42",
"item-125",
"item-11"
],
"count": 3
}
|
Invalid filter. |
Item Properties¶
Item properties definition¶
Item properties are used for modeling your domain. The following methods allow the definition of item properties. The properties may be thought of as columns in a relational database table.
Add Item Property¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(AddItemProperty(property_name, type))
client.send(AddItemProperty.new(propertyName, type))
client.send(new AddItemProperty(String propertyName, String type));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddItemProperty(propertyName, type), callback);
<?php
$client->send(new AddItemProperty($property_name, $type));
?>
client.Send(AddItemProperty(string propertyName, string type));
PUT /{databaseId}/items/properties/{propertyName}?type=<string>
Adding an item property is somehow equivalent to adding a column to the table of items. The items may be characterized by various properties of different types.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
Name of the item property to be created. Currently, the following names are reserved: |
||||
|
query |
string |
Yes |
|
Value type of the item property to be created. One of:
|
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Property name does not match ^[a-zA-Z0-9_-:]+$, or it is a reserved keyword (‘’id’’, ‘’itemid’’), or its length exceeds 63 characters. Type information is missing, or the given type is invalid. |
|
Property of the given name is already present in the database. In many cases, you may consider this code success – it only tells you that nothing has been written to the database. |
Delete Item Property¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteItemProperty(property_name))
client.send(DeleteItemProperty.new(propertyName))
client.send(new DeleteItemProperty(String propertyName));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteItemProperty(propertyName), callback);
<?php
$client->send(new DeleteItemProperty($property_name));
?>
client.Send(DeleteItemProperty(string propertyName));
DELETE /{databaseId}/items/properties/{propertyName}
Deleting an item property is roughly equivalent to removing a column from the table of items.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
Name of the property to be deleted. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Property name does not match ^[a-zA-Z0-9_-:]+$. |
|
Property of the given name is not present in the database. In many cases, you may consider this code success – it only tells you that nothing has been deleted from the database since the item property was already not present. If there is no additional info in the JSON response, you probably have an error in your URL. |
Get Item Property Info¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(GetItemPropertyInfo(property_name))
result = client.send(GetItemPropertyInfo.new(propertyName))
PropertyInfo result = client.send(new GetItemPropertyInfo(String propertyName));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.GetItemPropertyInfo(propertyName), callback);
<?php
$result = $client->send(new GetItemPropertyInfo($property_name));
?>
PropertyInfo result = client.Send(GetItemPropertyInfo(string propertyName));
GET /{databaseId}/items/properties/{propertyName}
Gets information about specified item property.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
Name of the property about which the information is to be retrieved. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"name": "num-processors",
"type": "int"
}
|
Property name does not match ^[a-zA-Z0-9_-:]+$. |
|
Property of the given name is not present in the database. If there is no additional info in the JSON response, you probably have an error in your URL. |
List Item Properties¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListItemProperties())
result = client.send(ListItemProperties.new())
PropertyInfo[] result = client.send(new ListItemProperties());
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListItemProperties(), callback);
<?php
$result = $client->send(new ListItemProperties());
?>
IEnumerable<PropertyInfo> result = client.Send(ListItemProperties());
GET /{databaseId}/items/properties/list/
Gets the list of all the item properties in your database.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"name": "tags",
"type": "set"
},
{
"name": "release-date",
"type": "timestamp"
},
{
"name": "description",
"type": "string"
}
]
|
Invalid URL. |
Values of item properties¶
The following methods allow assigning property values to items in the catalog. Set values are examined by content-based algorithms and used for recommendations, especially in the case of cold-start items that have no interactions yet. Properties are also used in ReQL for filtering and boosting according to your business rules.
Set Item Values¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(SetItemValues(item_id, values,
# optional parameters:
cascade_create=<boolean>
)
)
client.send(SetItemValues.new(itemId, values, {
# optional parameters:
:cascade_create => <boolean>
})
)
client.send(new SetItemValues(String itemId, Map<String, Object> values)
.setCascadeCreate(boolean cascadeCreate)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.SetItemValues(itemId, values, {
// optional parameters:
'cascadeCreate': <boolean>
}), callback);
<?php
$client->send(new SetItemValues($item_id, $values, [
// optional parameters:
'cascadeCreate' => <boolean>
])
);
?>
client.Send(SetItemValues(string itemId, Dictionary<string, object> values,
// optional parameters:
cascadeCreate: <bool>
)
);
POST /{databaseId}/items/{itemId}
Sets/updates (some) property values of the given item. The properties (columns) must be previously created by Add item property.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the item which will be modified. |
||||
body |
object |
Yes |
||
The values for the individual properties. Example of the body: {
"product_description": "4K TV with 3D feature",
"categories": ["Electronics", "Televisions"],
"price_usd": 342,
"in_stock_from": "2016-11-16T08:00Z",
"image": "http://myexamplesite.com/products/4ktelevision3d/image.jpg",
"other_images": ["http://myexamplesite.com/products/4ktelevision3d/image2.jpg",
"http://myexamplesite.com/products/4ktelevision3d/image3.jpg"]
}
Set item values can also cascade create the item if it’s not already present in the database. For this functionality:
|
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Property name does not match ‘’^[a-zA-Z0-9_-:]+$’’, value does not match the property type. |
|
Property of the given name is not present in the database. If there is no additional info in the JSON response, you probably have an error in your URL. |
Get Item Values¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(GetItemValues(item_id))
result = client.send(GetItemValues.new(itemId))
Map<String, Object> result = client.send(new GetItemValues(String itemId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.GetItemValues(itemId), callback);
<?php
$result = $client->send(new GetItemValues($item_id));
?>
StringBinding result = client.Send(GetItemValues(string itemId));
GET /{databaseId}/items/{itemId}
Gets all the current property values of the given item.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the item whose properties are to be obtained. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"release-date": null,
"tags": [
"electronics",
"laptops"
],
"num-processors": 12,
"description": "Very powerful laptop",
"weight": 1.6
}
|
The itemId does not match ^[a-zA-Z0-9_-:@.]+$ |
|
Item of the given itemId is not present in the catalog. If there is no additional info in the JSON response, you probably have an error in your URL. |
Update More Items¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(UpdateMoreItems(filter, changes))
result = client.send(UpdateMoreItems.new(filter, changes))
UpdateMoreItemsResponse result = client.send(new UpdateMoreItems(String filter, Map<String, Object> changes));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.UpdateMoreItems(filter, changes), callback);
<?php
$result = $client->send(new UpdateMoreItems($filter, $changes));
?>
UpdateMoreItemsResponse result = client.Send(UpdateMoreItems(string filter, Dictionary<string, object> changes));
POST /{databaseId}/more-items/
Body (application/json):
{
"filter" => <string>,
"changes" => <Object>
}
Updates (some) property values of all the items that pass the filter.
Example: Setting all the items that are older than a week as unavailable
{ "filter": "'releaseDate' < now() - 7*24*3600", "changes": {"available": false} }
Since version 3.3.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
3.3.0 |
ID of your database. |
||||
|
body |
string |
Yes |
3.3.0 |
A ReQL expression, which returns |
||||
|
body |
object |
Yes |
3.3.0 |
A dictionary where the keys are properties that shall be updated. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. Returns IDs of updated items and their count. |
Example of response:
{
"itemIds": [
"item-42",
"item-125",
"item-11"
],
"count": 3
}
|
Invalid filter, property name does not match ‘’^[a-zA-Z0-9_-:]+$’’, value does not match the property type. |
|
Property of the given name is not present in the database. |
Users¶
The following methods allow you to manage users in your database.
Add User¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(AddUser(user_id))
client.send(AddUser.new(userId))
client.send(new AddUser(String userId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddUser(userId), callback);
<?php
$client->send(new AddUser($user_id));
?>
client.Send(AddUser(string userId));
PUT /{databaseId}/users/{userId}
Adds a new user to the database.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the user to be added. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
User of the given userId is already present in the database. In many cases, you may consider this code success – it only tells you that nothing has been written to the database. |
Delete User¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteUser(user_id))
client.send(DeleteUser.new(userId))
client.send(new DeleteUser(String userId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteUser(userId), callback);
<?php
$client->send(new DeleteUser($user_id));
?>
client.Send(DeleteUser(string userId));
DELETE /{databaseId}/users/{userId}
Deletes a user of the given userId from the database.
If there are any purchases, ratings, bookmarks, cart additions or detail views made by the user present in the database, they will be deleted in cascade as well.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the user to be deleted. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The userId does not match ‘’^[a-zA-Z0-9_-:@.]+$’’. |
|
User of the given |
Merge Users¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(MergeUsers(target_user_id, source_user_id,
# optional parameters:
cascade_create=<boolean>
)
)
client.send(MergeUsers.new(targetUserId, sourceUserId, {
# optional parameters:
:cascade_create => <boolean>
})
)
client.send(new MergeUsers(String targetUserId, String sourceUserId)
.setCascadeCreate(boolean cascadeCreate)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.MergeUsers(targetUserId, sourceUserId, {
// optional parameters:
'cascadeCreate': <boolean>
}), callback);
<?php
$client->send(new MergeUsers($target_user_id, $source_user_id, [
// optional parameters:
'cascadeCreate' => <boolean>
])
);
?>
client.Send(MergeUsers(string targetUserId, string sourceUserId,
// optional parameters:
cascadeCreate: <bool>
)
);
PUT /{databaseId}/users/{targetUserId}/merge/{sourceUserId}?cascadeCreate=<boolean>
Merges interactions (purchases, ratings, bookmarks, detail views …) of two different users under a single user ID. This is especially useful for online e-commerce applications working with anonymous users identified by unique tokens such as the session ID. In such applications, it may often happen that a user owns a persistent account, yet accesses the system anonymously while, e.g., putting items into a shopping cart. At some point in time, such as when the user wishes to confirm the purchase, (s)he logs into the system using his/her username and password. The interactions made under anonymous session ID then become connected with the persistent account, and merging these two becomes desirable.
Merging happens between two users referred to as the target and the source. After the merge, all the interactions of the source user are attributed to the target user, and the source user is deleted.
API calls limit: 100 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the target user. |
||||
|
path |
string |
Yes |
|
ID of the source user. |
||||
|
query |
boolean |
No |
|
Sets whether the user targetUserId should be created if not present in the database. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The sourceUserId or targetUserId does not match ^[a-zA-Z0-9_-:@.]+$ |
|
The sourceUserId or targetUserId does not exist in the database. If there is no additional info in the JSON response, you probably have an error in your URL. |
List Users¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListUsers(
# optional parameters:
filter=<string>,
count=<integer>,
offset=<integer>,
return_properties=<boolean>,
included_properties=<array>
)
)
result = client.send(ListUsers.new({
# optional parameters:
:filter => <string>,
:count => <integer>,
:offset => <integer>,
:return_properties => <boolean>,
:included_properties => <array>
})
)
User[] result = client.send(new ListUsers()
.setFilter(String filter)
.setCount(long count)
.setOffset(long offset)
.setReturnProperties(boolean returnProperties)
.setIncludedProperties(String[] includedProperties)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListUsers({
// optional parameters:
'filter': <string>,
'count': <integer>,
'offset': <integer>,
'returnProperties': <boolean>,
'includedProperties': <array>
}), callback);
<?php
$result = $client->send(new ListUsers([
// optional parameters:
'filter' => <string>,
'count' => <integer>,
'offset' => <integer>,
'returnProperties' => <boolean>,
'includedProperties' => <array>
])
);
?>
IEnumerable<User> result = client.Send(ListUsers(
// optional parameters:
filter: <string>,
count: <long>,
offset: <long>,
returnProperties: <bool>,
includedProperties: <string[]>
)
);
GET /{databaseId}/users/list/?filter=<string>&count=<integer>&offset=<integer>&returnProperties=<boolean>&includedProperties=<array>
Gets a list of IDs of users currently present in the catalog.
API calls limit: 100 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
query |
string |
No |
|
Boolean-returning ReQL expression, which allows you to filter users to be listed. Only the users for which the expression is true will be returned. |
||||
|
query |
integer |
No |
|
The number of users to be listed. |
||||
|
query |
integer |
No |
|
Specifies the number of users to skip (ordered by |
||||
|
query |
boolean |
No |
1.4.0 |
With Example response: [
{
"userId": "user-81",
"country": "US",
"sex": "M"
},
{
"userId": "user-314",
"country": "CAN",
"sex": "F"
}
]
|
||||
|
query |
array |
No |
1.4.0 |
Allows specifying which properties should be returned when Example response for [
{
"userId": "user-81",
"country": "US"
},
{
"userId": "user-314",
"country": "CAN"
}
]
|
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
"user-1",
"user-2",
"user-3"
]
|
Invalid URL. |
User Properties¶
User properties definition¶
User properties are used for modeling users. The following methods allow the definition of user properties. The properties may be thought of as columns in a relational database table.
Add User Property¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(AddUserProperty(property_name, type))
client.send(AddUserProperty.new(propertyName, type))
client.send(new AddUserProperty(String propertyName, String type));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddUserProperty(propertyName, type), callback);
<?php
$client->send(new AddUserProperty($property_name, $type));
?>
client.Send(AddUserProperty(string propertyName, string type));
PUT /{databaseId}/users/properties/{propertyName}?type=<string>
Adding a user property is somehow equivalent to adding a column to the table of users. The users may be characterized by various properties of different types.
Since version 1.3.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
1.3.0 |
ID of your database. |
||||
|
path |
string |
Yes |
1.3.0 |
Name of the user property to be created. Currently, the following names are reserved: |
||||
|
query |
string |
Yes |
1.3.0 |
Value type of the user property to be created. One of:
|
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Property name does not match ^[a-zA-Z0-9_-:]+$, or it is a reserved keyword (‘’id’’, ‘’userid’’), or its length exceeds 63 characters. Type information is missing, or the given type is invalid. |
|
Property of the given name is already present in the database. In many cases, you may consider this code success – it only tells you that nothing has been written to the database. |
Delete User Property¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteUserProperty(property_name))
client.send(DeleteUserProperty.new(propertyName))
client.send(new DeleteUserProperty(String propertyName));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteUserProperty(propertyName), callback);
<?php
$client->send(new DeleteUserProperty($property_name));
?>
client.Send(DeleteUserProperty(string propertyName));
DELETE /{databaseId}/users/properties/{propertyName}
Deleting a user property is roughly equivalent to removing a column from the table of users.
Since version 1.3.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
1.3.0 |
ID of your database. |
||||
|
path |
string |
Yes |
1.3.0 |
Name of the property to be deleted. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Property name does not match ^[a-zA-Z0-9_-:]+$. |
|
Property of the given name is not present in the database. In many cases, you may consider this code success – it only tells you that nothing has been deleted from the database since the user property was already not present. If there is no additional info in the JSON response, you probably have an error in your URL. |
Get User Property Info¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(GetUserPropertyInfo(property_name))
result = client.send(GetUserPropertyInfo.new(propertyName))
PropertyInfo result = client.send(new GetUserPropertyInfo(String propertyName));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.GetUserPropertyInfo(propertyName), callback);
<?php
$result = $client->send(new GetUserPropertyInfo($property_name));
?>
PropertyInfo result = client.Send(GetUserPropertyInfo(string propertyName));
GET /{databaseId}/users/properties/{propertyName}
Gets information about specified user property.
Since version 1.3.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
1.3.0 |
ID of your database. |
||||
|
path |
string |
Yes |
1.3.0 |
Name of the property about which the information is to be retrieved. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"name": "country",
"type": "string"
}
|
Property name does not match ^[a-zA-Z0-9_-:]+$. |
|
Property of the given name is not present in the database. If there is no additional info in the JSON response, you probably have an error in your URL. |
List User Properties¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListUserProperties())
result = client.send(ListUserProperties.new())
PropertyInfo[] result = client.send(new ListUserProperties());
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListUserProperties(), callback);
<?php
$result = $client->send(new ListUserProperties());
?>
IEnumerable<PropertyInfo> result = client.Send(ListUserProperties());
GET /{databaseId}/users/properties/list/
Gets the list of all the user properties in your database.
Since version 1.3.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
1.3.0 |
ID of your database. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"name": "country",
"type": "string"
},
{
"name": "sex",
"type": "string"
}
]
|
Invalid URL. |
Values of user properties¶
The following methods allow assigning property values to the user. Set values are examined by content-based algorithms and used in building recommendations, especially for users that have only a few interactions (e.g., new users). Useful properties may be, for example, gender or region. The values can be used in filtering using the context_user ReQL function.
Set User Values¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(SetUserValues(user_id, values,
# optional parameters:
cascade_create=<boolean>
)
)
client.send(SetUserValues.new(userId, values, {
# optional parameters:
:cascade_create => <boolean>
})
)
client.send(new SetUserValues(String userId, Map<String, Object> values)
.setCascadeCreate(boolean cascadeCreate)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.SetUserValues(userId, values, {
// optional parameters:
'cascadeCreate': <boolean>
}), callback);
<?php
$client->send(new SetUserValues($user_id, $values, [
// optional parameters:
'cascadeCreate' => <boolean>
])
);
?>
client.Send(SetUserValues(string userId, Dictionary<string, object> values,
// optional parameters:
cascadeCreate: <bool>
)
);
POST /{databaseId}/users/{userId}
Sets/updates (some) property values of the given user. The properties (columns) must be previously created by Add user property.
Since version 1.3.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
1.3.0 |
ID of your database. |
||||
|
path |
string |
Yes |
1.3.0 |
ID of the user which will be modified. |
||||
body |
object |
Yes |
1.3.0 |
|
The values for the individual properties. Example of the body: {
"country": "US",
"sex": "F"
}
Set user values can also cascade create the user if it’s not already present in the database. For this functionality:
|
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Property name does not match ‘’^[a-zA-Z0-9_-:]+$’’, value does not agree to property type. |
|
Property of the given name is not present in the database. If there is no additional info in the JSON response, you probably have an error in your URL. |
Get User Values¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(GetUserValues(user_id))
result = client.send(GetUserValues.new(userId))
Map<String, Object> result = client.send(new GetUserValues(String userId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.GetUserValues(userId), callback);
<?php
$result = $client->send(new GetUserValues($user_id));
?>
StringBinding result = client.Send(GetUserValues(string userId));
GET /{databaseId}/users/{userId}
Gets all the current property values of the given user.
Since version 1.3.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
1.3.0 |
ID of your database. |
||||
|
path |
string |
Yes |
1.3.0 |
ID of the user whose properties are to be obtained. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"country": "US",
"sex": "F"
}
|
The userId does not match ^[a-zA-Z0-9_-:@.]+$ |
|
User of the given userId is not present in the catalog. If there is no additional info in the JSON response, you probably have an error in your URL. |
User-Item Interactions¶
The following methods allow adding, deleting, and listing interactions between the users and the items.
Detail Views¶
Add Detail View¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.AddDetailView(userId, itemId, {
// optional parameters:
'timestamp': <string / number>,
'duration': <integer>,
'cascadeCreate': <boolean>,
'recommId': <string>
}), callback);
client.send(AddDetailView(user_id, item_id,
# optional parameters:
timestamp=<string / number>,
duration=<integer>,
cascade_create=<boolean>,
recomm_id=<string>
)
)
client.send(AddDetailView.new(userId, itemId, {
# optional parameters:
:timestamp => <string / number>,
:duration => <integer>,
:cascade_create => <boolean>,
:recomm_id => <string>
})
)
client.send(new AddDetailView(String userId, String itemId)
.setTimestamp(Date timestamp)
.setDuration(long duration)
.setCascadeCreate(boolean cascadeCreate)
.setRecommId(String recommId)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddDetailView(userId, itemId, {
// optional parameters:
'timestamp': <string / number>,
'duration': <integer>,
'cascadeCreate': <boolean>,
'recommId': <string>
}), callback);
<?php
$client->send(new AddDetailView($user_id, $item_id, [
// optional parameters:
'timestamp' => <string / number>,
'duration' => <integer>,
'cascadeCreate' => <boolean>,
'recommId' => <string>
])
);
?>
client.Send(AddDetailView(string userId, string itemId,
// optional parameters:
timestamp: <DateTime>,
duration: <long>,
cascadeCreate: <bool>,
recommId: <string>
)
);
POST /{databaseId}/detailviews/
Body (application/json):
{
"userId" => <string>,
"itemId" => <string>,
"timestamp" => <string / number>,
"duration" => <integer>,
"cascadeCreate" => <boolean>,
"recommId" => <string>
}
Adds a detail view of the given item made by the given user.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
body |
string |
Yes |
|
User who viewed the item |
||||
|
body |
string |
Yes |
|
Viewed item |
||||
|
body |
string / number |
No |
|
UTC timestamp of the view as ISO8601-1 pattern or UTC epoch time. The default value is the current time. |
||||
|
body |
integer |
No |
|
Duration of the view |
||||
|
body |
boolean |
No |
|
Sets whether the given user/item should be created if not present in the database. |
||||
|
body |
string |
No |
2.2.0 |
If this detail view is based on a recommendation request, |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Given |
|
The |
|
Detail view of the exact same |
Delete Detail View¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteDetailView(user_id, item_id,
# optional parameters:
timestamp=<number>
)
)
client.send(DeleteDetailView.new(userId, itemId, {
# optional parameters:
:timestamp => <number>
})
)
client.send(new DeleteDetailView(String userId, String itemId)
.setTimestamp(Date timestamp)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteDetailView(userId, itemId, {
// optional parameters:
'timestamp': <number>
}), callback);
<?php
$client->send(new DeleteDetailView($user_id, $item_id, [
// optional parameters:
'timestamp' => <number>
])
);
?>
client.Send(DeleteDetailView(string userId, string itemId,
// optional parameters:
timestamp: <DateTime>
)
);
DELETE /{databaseId}/detailviews/?userId=<string>&itemId=<string>×tamp=<number>
Deletes an existing detail view uniquely specified by (userId
, itemId
, and timestamp
) or all the detail views with the given userId
and itemId
if timestamp
is omitted.
API calls limit: 1000 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
query |
string |
Yes |
|
ID of the user who made the detail view. |
||||
|
query |
string |
Yes |
|
ID of the item whose details were viewed. |
||||
|
query |
number |
No |
|
Unix timestamp of the detail view. If the |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Given |
|
The |
List Item Detail Views¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListItemDetailViews(item_id))
result = client.send(ListItemDetailViews.new(itemId))
DetailView[] result = client.send(new ListItemDetailViews(String itemId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListItemDetailViews(itemId), callback);
<?php
$result = $client->send(new ListItemDetailViews($item_id));
?>
IEnumerable<DetailView> result = client.Send(ListItemDetailViews(string itemId));
GET /{databaseId}/items/{itemId}/detailviews/
Lists all the detail views of the given item ever made by different users.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the item whose detail views are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-x",
"userId": "user-a",
"duration": 14.23,
"timestamp": 1348151906.0
},
{
"itemId": "item-x",
"userId": "user-b",
"duration": null,
"timestamp": 1348239363.0
}
]
|
The |
|
Given |
List User Detail Views¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListUserDetailViews(user_id))
result = client.send(ListUserDetailViews.new(userId))
DetailView[] result = client.send(new ListUserDetailViews(String userId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListUserDetailViews(userId), callback);
<?php
$result = $client->send(new ListUserDetailViews($user_id));
?>
IEnumerable<DetailView> result = client.Send(ListUserDetailViews(string userId));
GET /{databaseId}/users/{userId}/detailviews/
Lists all the detail views of different items ever made by the given user.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the user whose detail views are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-y",
"userId": "user-a",
"duration": 134.03,
"timestamp": 1348139180.0
},
{
"itemId": "item-x",
"userId": "user-a",
"duration": 14.23,
"timestamp": 1348151906.0
}
]
|
The |
|
Given |
Purchases¶
Add Purchase¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.AddPurchase(userId, itemId, {
// optional parameters:
'timestamp': <string / number>,
'cascadeCreate': <boolean>,
'amount': <number>,
'price': <number>,
'profit': <number>,
'recommId': <string>
}), callback);
client.send(AddPurchase(user_id, item_id,
# optional parameters:
timestamp=<string / number>,
cascade_create=<boolean>,
amount=<number>,
price=<number>,
profit=<number>,
recomm_id=<string>
)
)
client.send(AddPurchase.new(userId, itemId, {
# optional parameters:
:timestamp => <string / number>,
:cascade_create => <boolean>,
:amount => <number>,
:price => <number>,
:profit => <number>,
:recomm_id => <string>
})
)
client.send(new AddPurchase(String userId, String itemId)
.setTimestamp(Date timestamp)
.setCascadeCreate(boolean cascadeCreate)
.setAmount(double amount)
.setPrice(double price)
.setProfit(double profit)
.setRecommId(String recommId)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddPurchase(userId, itemId, {
// optional parameters:
'timestamp': <string / number>,
'cascadeCreate': <boolean>,
'amount': <number>,
'price': <number>,
'profit': <number>,
'recommId': <string>
}), callback);
<?php
$client->send(new AddPurchase($user_id, $item_id, [
// optional parameters:
'timestamp' => <string / number>,
'cascadeCreate' => <boolean>,
'amount' => <number>,
'price' => <number>,
'profit' => <number>,
'recommId' => <string>
])
);
?>
client.Send(AddPurchase(string userId, string itemId,
// optional parameters:
timestamp: <DateTime>,
cascadeCreate: <bool>,
amount: <double>,
price: <double>,
profit: <double>,
recommId: <string>
)
);
POST /{databaseId}/purchases/
Body (application/json):
{
"userId" => <string>,
"itemId" => <string>,
"timestamp" => <string / number>,
"cascadeCreate" => <boolean>,
"amount" => <number>,
"price" => <number>,
"profit" => <number>,
"recommId" => <string>
}
Adds a purchase of the given item made by the given user.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
body |
string |
Yes |
|
User who purchased the item |
||||
|
body |
string |
Yes |
|
Purchased item |
||||
|
body |
string / number |
No |
|
UTC timestamp of the purchase as ISO8601-1 pattern or UTC epoch time. The default value is the current time. |
||||
|
body |
boolean |
No |
|
Sets whether the given user/item should be created if not present in the database. |
||||
|
body |
number |
No |
1.6.0 |
Amount (number) of purchased items. The default is 1. For example, if |
||||
|
body |
number |
No |
1.6.0 |
Price paid by the user for the item. If |
||||
|
body |
number |
No |
1.6.0 |
Your profit from the purchased item. The profit is natural in the e-commerce domain (for example, if |
||||
|
body |
string |
No |
2.2.0 |
If this purchase is based on a recommendation request, |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
The |
|
Purchase of the exact same |
Delete Purchase¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeletePurchase(user_id, item_id,
# optional parameters:
timestamp=<number>
)
)
client.send(DeletePurchase.new(userId, itemId, {
# optional parameters:
:timestamp => <number>
})
)
client.send(new DeletePurchase(String userId, String itemId)
.setTimestamp(Date timestamp)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeletePurchase(userId, itemId, {
// optional parameters:
'timestamp': <number>
}), callback);
<?php
$client->send(new DeletePurchase($user_id, $item_id, [
// optional parameters:
'timestamp' => <number>
])
);
?>
client.Send(DeletePurchase(string userId, string itemId,
// optional parameters:
timestamp: <DateTime>
)
);
DELETE /{databaseId}/purchases/?userId=<string>&itemId=<string>×tamp=<number>
Deletes an existing purchase uniquely specified by userId
, itemId
, and timestamp
or all the purchases with the given userId
and itemId
if timestamp
is omitted.
API calls limit: 1000 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
query |
string |
Yes |
|
ID of the user who made the purchase. |
||||
|
query |
string |
Yes |
|
ID of the item which was purchased. |
||||
|
query |
number |
No |
|
Unix timestamp of the purchase. If the |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Given |
|
The |
List Item Purchases¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListItemPurchases(item_id))
result = client.send(ListItemPurchases.new(itemId))
Purchase[] result = client.send(new ListItemPurchases(String itemId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListItemPurchases(itemId), callback);
<?php
$result = $client->send(new ListItemPurchases($item_id));
?>
IEnumerable<Purchase> result = client.Send(ListItemPurchases(string itemId));
GET /{databaseId}/items/{itemId}/purchases/
Lists all the ever-made purchases of the given item.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the item whose purchases are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-x",
"userId": "user-a",
"timestamp": 1348151906.0
},
{
"itemId": "item-x",
"userId": "user-b",
"timestamp": 1348327154.0
}
]
|
The |
|
Given |
List User Purchases¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListUserPurchases(user_id))
result = client.send(ListUserPurchases.new(userId))
Purchase[] result = client.send(new ListUserPurchases(String userId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListUserPurchases(userId), callback);
<?php
$result = $client->send(new ListUserPurchases($user_id));
?>
IEnumerable<Purchase> result = client.Send(ListUserPurchases(string userId));
GET /{databaseId}/users/{userId}/purchases/
Lists all the purchases ever made by the given user.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the user whose purchases are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-x",
"timestamp": 1348151906.0,
"userId": "user-a"
},
{
"itemId": "item-z",
"timestamp": 1348239363.0,
"userId": "user-a"
}
]
|
The |
|
Given |
Ratings¶
Add Rating¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.AddRating(userId, itemId, rating, {
// optional parameters:
'timestamp': <string / number>,
'cascadeCreate': <boolean>,
'recommId': <string>
}), callback);
client.send(AddRating(user_id, item_id, rating,
# optional parameters:
timestamp=<string / number>,
cascade_create=<boolean>,
recomm_id=<string>
)
)
client.send(AddRating.new(userId, itemId, rating, {
# optional parameters:
:timestamp => <string / number>,
:cascade_create => <boolean>,
:recomm_id => <string>
})
)
client.send(new AddRating(String userId, String itemId, double rating)
.setTimestamp(Date timestamp)
.setCascadeCreate(boolean cascadeCreate)
.setRecommId(String recommId)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddRating(userId, itemId, rating, {
// optional parameters:
'timestamp': <string / number>,
'cascadeCreate': <boolean>,
'recommId': <string>
}), callback);
<?php
$client->send(new AddRating($user_id, $item_id, $rating, [
// optional parameters:
'timestamp' => <string / number>,
'cascadeCreate' => <boolean>,
'recommId' => <string>
])
);
?>
client.Send(AddRating(string userId, string itemId, double rating,
// optional parameters:
timestamp: <DateTime>,
cascadeCreate: <bool>,
recommId: <string>
)
);
POST /{databaseId}/ratings/
Body (application/json):
{
"userId" => <string>,
"itemId" => <string>,
"timestamp" => <string / number>,
"rating" => <number>,
"cascadeCreate" => <boolean>,
"recommId" => <string>
}
Adds a rating of the given item made by the given user.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
body |
string |
Yes |
|
User who submitted the rating |
||||
|
body |
string |
Yes |
|
Rated item |
||||
|
body |
string / number |
No |
|
UTC timestamp of the rating as ISO8601-1 pattern or UTC epoch time. The default value is the current time. |
||||
|
body |
number |
Yes |
|
Rating rescaled to interval [-1.0,1.0], where -1.0 means the worst rating possible, 0.0 means neutral, and 1.0 means absolutely positive rating. For example, in the case of 5-star evaluations, rating = (numStars-3)/2 formula may be used for the conversion. |
||||
|
body |
boolean |
No |
|
Sets whether the given user/item should be created if not present in the database. |
||||
|
body |
string |
No |
2.2.0 |
If this rating is based on a recommendation request, |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
The |
|
Rating of the exact same |
Delete Rating¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteRating(user_id, item_id,
# optional parameters:
timestamp=<number>
)
)
client.send(DeleteRating.new(userId, itemId, {
# optional parameters:
:timestamp => <number>
})
)
client.send(new DeleteRating(String userId, String itemId)
.setTimestamp(Date timestamp)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteRating(userId, itemId, {
// optional parameters:
'timestamp': <number>
}), callback);
<?php
$client->send(new DeleteRating($user_id, $item_id, [
// optional parameters:
'timestamp' => <number>
])
);
?>
client.Send(DeleteRating(string userId, string itemId,
// optional parameters:
timestamp: <DateTime>
)
);
DELETE /{databaseId}/ratings/?userId=<string>&itemId=<string>×tamp=<number>
Deletes an existing rating specified by (userId
, itemId
, timestamp
) from the database or all the ratings with the given userId
and itemId
if timestamp
is omitted.
API calls limit: 1000 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
query |
string |
Yes |
|
ID of the user who rated the item. |
||||
|
query |
string |
Yes |
|
ID of the item which was rated. |
||||
|
query |
number |
No |
|
Unix timestamp of the rating. If the |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Given |
|
The |
List Item Ratings¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListItemRatings(item_id))
result = client.send(ListItemRatings.new(itemId))
Rating[] result = client.send(new ListItemRatings(String itemId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListItemRatings(itemId), callback);
<?php
$result = $client->send(new ListItemRatings($item_id));
?>
IEnumerable<Rating> result = client.Send(ListItemRatings(string itemId));
GET /{databaseId}/items/{itemId}/ratings/
Lists all the ratings of an item ever submitted by different users.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the item whose ratings are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-x",
"userId": "user-a",
"rating": -0.25,
"timestamp": 1348151906.0
},
{
"itemId": "item-x",
"userId": "user-b",
"rating": 0.0,
"timestamp": 1348239363.0
}
]
|
The |
|
Given |
List User Ratings¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListUserRatings(user_id))
result = client.send(ListUserRatings.new(userId))
Rating[] result = client.send(new ListUserRatings(String userId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListUserRatings(userId), callback);
<?php
$result = $client->send(new ListUserRatings($user_id));
?>
IEnumerable<Rating> result = client.Send(ListUserRatings(string userId));
GET /{databaseId}/users/{userId}/ratings/
Lists all the ratings ever submitted by the given user.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the user whose ratings are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-y",
"userId": "user-a",
"rating": 0.5,
"timestamp": 1348139180.0
},
{
"itemId": "item-x",
"userId": "user-a",
"rating": -0.25,
"timestamp": 1348151906.0
}
]
|
The |
|
Given |
Cart Additions¶
Add Cart Addition¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.AddCartAddition(userId, itemId, {
// optional parameters:
'timestamp': <string / number>,
'cascadeCreate': <boolean>,
'amount': <number>,
'price': <number>,
'recommId': <string>
}), callback);
client.send(AddCartAddition(user_id, item_id,
# optional parameters:
timestamp=<string / number>,
cascade_create=<boolean>,
amount=<number>,
price=<number>,
recomm_id=<string>
)
)
client.send(AddCartAddition.new(userId, itemId, {
# optional parameters:
:timestamp => <string / number>,
:cascade_create => <boolean>,
:amount => <number>,
:price => <number>,
:recomm_id => <string>
})
)
client.send(new AddCartAddition(String userId, String itemId)
.setTimestamp(Date timestamp)
.setCascadeCreate(boolean cascadeCreate)
.setAmount(double amount)
.setPrice(double price)
.setRecommId(String recommId)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddCartAddition(userId, itemId, {
// optional parameters:
'timestamp': <string / number>,
'cascadeCreate': <boolean>,
'amount': <number>,
'price': <number>,
'recommId': <string>
}), callback);
<?php
$client->send(new AddCartAddition($user_id, $item_id, [
// optional parameters:
'timestamp' => <string / number>,
'cascadeCreate' => <boolean>,
'amount' => <number>,
'price' => <number>,
'recommId' => <string>
])
);
?>
client.Send(AddCartAddition(string userId, string itemId,
// optional parameters:
timestamp: <DateTime>,
cascadeCreate: <bool>,
amount: <double>,
price: <double>,
recommId: <string>
)
);
POST /{databaseId}/cartadditions/
Body (application/json):
{
"userId" => <string>,
"itemId" => <string>,
"timestamp" => <string / number>,
"cascadeCreate" => <boolean>,
"amount" => <number>,
"price" => <number>,
"recommId" => <string>
}
Adds a cart addition of the given item made by the given user.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
body |
string |
Yes |
|
User who added the item to the cart |
||||
|
body |
string |
Yes |
|
Item added to the cart |
||||
|
body |
string / number |
No |
|
UTC timestamp of the cart addition as ISO8601-1 pattern or UTC epoch time. The default value is the current time. |
||||
|
body |
boolean |
No |
|
Sets whether the given user/item should be created if not present in the database. |
||||
|
body |
number |
No |
1.6.0 |
Amount (number) added to cart. The default is 1. For example, if |
||||
|
body |
number |
No |
1.6.0 |
Price of the added item. If |
||||
|
body |
string |
No |
2.2.0 |
If this cart addition is based on a recommendation request, |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
The |
|
Cart addition of the exact same |
Delete Cart Addition¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteCartAddition(user_id, item_id,
# optional parameters:
timestamp=<number>
)
)
client.send(DeleteCartAddition.new(userId, itemId, {
# optional parameters:
:timestamp => <number>
})
)
client.send(new DeleteCartAddition(String userId, String itemId)
.setTimestamp(Date timestamp)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteCartAddition(userId, itemId, {
// optional parameters:
'timestamp': <number>
}), callback);
<?php
$client->send(new DeleteCartAddition($user_id, $item_id, [
// optional parameters:
'timestamp' => <number>
])
);
?>
client.Send(DeleteCartAddition(string userId, string itemId,
// optional parameters:
timestamp: <DateTime>
)
);
DELETE /{databaseId}/cartadditions/?userId=<string>&itemId=<string>×tamp=<number>
Deletes an existing cart addition uniquely specified by userId
, itemId
, and timestamp
or all the cart additions with the given userId
and itemId
if timestamp
is omitted.
API calls limit: 1000 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
query |
string |
Yes |
|
ID of the user who made the cart addition. |
||||
|
query |
string |
Yes |
|
ID of the item which was added to the cart. |
||||
|
query |
number |
No |
|
Unix timestamp of the cart addition. If the |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Given |
|
The |
List Item Cart Additions¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListItemCartAdditions(item_id))
result = client.send(ListItemCartAdditions.new(itemId))
CartAddition[] result = client.send(new ListItemCartAdditions(String itemId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListItemCartAdditions(itemId), callback);
<?php
$result = $client->send(new ListItemCartAdditions($item_id));
?>
IEnumerable<CartAddition> result = client.Send(ListItemCartAdditions(string itemId));
GET /{databaseId}/items/{itemId}/cartadditions/
Lists all the ever-made cart additions of the given item.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the item whose cart additions are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-x",
"userId": "user-a",
"timestamp": 1348151906.0
},
{
"itemId": "item-x",
"userId": "user-a",
"timestamp": 1348327154.0
}
]
|
The |
|
Given |
List User Cart Additions¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListUserCartAdditions(user_id))
result = client.send(ListUserCartAdditions.new(userId))
CartAddition[] result = client.send(new ListUserCartAdditions(String userId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListUserCartAdditions(userId), callback);
<?php
$result = $client->send(new ListUserCartAdditions($user_id));
?>
IEnumerable<CartAddition> result = client.Send(ListUserCartAdditions(string userId));
GET /{databaseId}/users/{userId}/cartadditions/
Lists all the cart additions ever made by the given user.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the user whose cart additions are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-x",
"timestamp": 1348151906.0,
"userId": "user-a"
},
{
"itemId": "item-z",
"timestamp": 1348239363.0,
"userId": "user-a"
}
]
|
The |
|
Given |
Bookmarks¶
Add Bookmark¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.AddBookmark(userId, itemId, {
// optional parameters:
'timestamp': <string / number>,
'cascadeCreate': <boolean>,
'recommId': <string>
}), callback);
client.send(AddBookmark(user_id, item_id,
# optional parameters:
timestamp=<string / number>,
cascade_create=<boolean>,
recomm_id=<string>
)
)
client.send(AddBookmark.new(userId, itemId, {
# optional parameters:
:timestamp => <string / number>,
:cascade_create => <boolean>,
:recomm_id => <string>
})
)
client.send(new AddBookmark(String userId, String itemId)
.setTimestamp(Date timestamp)
.setCascadeCreate(boolean cascadeCreate)
.setRecommId(String recommId)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddBookmark(userId, itemId, {
// optional parameters:
'timestamp': <string / number>,
'cascadeCreate': <boolean>,
'recommId': <string>
}), callback);
<?php
$client->send(new AddBookmark($user_id, $item_id, [
// optional parameters:
'timestamp' => <string / number>,
'cascadeCreate' => <boolean>,
'recommId' => <string>
])
);
?>
client.Send(AddBookmark(string userId, string itemId,
// optional parameters:
timestamp: <DateTime>,
cascadeCreate: <bool>,
recommId: <string>
)
);
POST /{databaseId}/bookmarks/
Body (application/json):
{
"userId" => <string>,
"itemId" => <string>,
"timestamp" => <string / number>,
"cascadeCreate" => <boolean>,
"recommId" => <string>
}
Adds a bookmark of the given item made by the given user.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
body |
string |
Yes |
|
User who bookmarked the item |
||||
|
body |
string |
Yes |
|
Bookmarked item |
||||
|
body |
string / number |
No |
|
UTC timestamp of the bookmark as ISO8601-1 pattern or UTC epoch time. The default value is the current time. |
||||
|
body |
boolean |
No |
|
Sets whether the given user/item should be created if not present in the database. |
||||
|
body |
string |
No |
2.2.0 |
If this bookmark is based on a recommendation request, |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
The |
|
Bookmark of the exact same |
Delete Bookmark¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteBookmark(user_id, item_id,
# optional parameters:
timestamp=<number>
)
)
client.send(DeleteBookmark.new(userId, itemId, {
# optional parameters:
:timestamp => <number>
})
)
client.send(new DeleteBookmark(String userId, String itemId)
.setTimestamp(Date timestamp)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteBookmark(userId, itemId, {
// optional parameters:
'timestamp': <number>
}), callback);
<?php
$client->send(new DeleteBookmark($user_id, $item_id, [
// optional parameters:
'timestamp' => <number>
])
);
?>
client.Send(DeleteBookmark(string userId, string itemId,
// optional parameters:
timestamp: <DateTime>
)
);
DELETE /{databaseId}/bookmarks/?userId=<string>&itemId=<string>×tamp=<number>
Deletes a bookmark uniquely specified by userId
, itemId
, and timestamp
or all the bookmarks with the given userId
and itemId
if timestamp
is omitted.
API calls limit: 1000 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
query |
string |
Yes |
|
ID of the user who made the bookmark. |
||||
|
query |
string |
Yes |
|
ID of the item which was bookmarked. |
||||
|
query |
number |
No |
|
Unix timestamp of the bookmark. If the |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Given |
|
The |
List Item Bookmarks¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListItemBookmarks(item_id))
result = client.send(ListItemBookmarks.new(itemId))
Bookmark[] result = client.send(new ListItemBookmarks(String itemId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListItemBookmarks(itemId), callback);
<?php
$result = $client->send(new ListItemBookmarks($item_id));
?>
IEnumerable<Bookmark> result = client.Send(ListItemBookmarks(string itemId));
GET /{databaseId}/items/{itemId}/bookmarks/
Lists all the ever-made bookmarks of the given item.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the item whose bookmarks are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-x",
"userId": "user-a",
"timestamp": 1348151906.0
},
{
"itemId": "item-x",
"userId": "user-a",
"timestamp": 1348327154.0
}
]
|
The |
|
Given |
List User Bookmarks¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListUserBookmarks(user_id))
result = client.send(ListUserBookmarks.new(userId))
Bookmark[] result = client.send(new ListUserBookmarks(String userId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListUserBookmarks(userId), callback);
<?php
$result = $client->send(new ListUserBookmarks($user_id));
?>
IEnumerable<Bookmark> result = client.Send(ListUserBookmarks(string userId));
GET /{databaseId}/users/{userId}/bookmarks/
Lists all the bookmarks ever made by the given user.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the user whose bookmarks are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-x",
"timestamp": 1348151906.0,
"userId": "user-a"
},
{
"itemId": "item-z",
"timestamp": 1348239363.0,
"userId": "user-a"
}
]
|
The |
|
Given |
View Portions¶
Set View Portion¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.SetViewPortion(userId, itemId, portion, {
// optional parameters:
'sessionId': <string>,
'timestamp': <string / number>,
'cascadeCreate': <boolean>,
'recommId': <string>
}), callback);
client.send(SetViewPortion(user_id, item_id, portion,
# optional parameters:
session_id=<string>,
timestamp=<string / number>,
cascade_create=<boolean>,
recomm_id=<string>
)
)
client.send(SetViewPortion.new(userId, itemId, portion, {
# optional parameters:
:session_id => <string>,
:timestamp => <string / number>,
:cascade_create => <boolean>,
:recomm_id => <string>
})
)
client.send(new SetViewPortion(String userId, String itemId, double portion)
.setSessionId(String sessionId)
.setTimestamp(Date timestamp)
.setCascadeCreate(boolean cascadeCreate)
.setRecommId(String recommId)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.SetViewPortion(userId, itemId, portion, {
// optional parameters:
'sessionId': <string>,
'timestamp': <string / number>,
'cascadeCreate': <boolean>,
'recommId': <string>
}), callback);
<?php
$client->send(new SetViewPortion($user_id, $item_id, $portion, [
// optional parameters:
'sessionId' => <string>,
'timestamp' => <string / number>,
'cascadeCreate' => <boolean>,
'recommId' => <string>
])
);
?>
client.Send(SetViewPortion(string userId, string itemId, double portion,
// optional parameters:
sessionId: <string>,
timestamp: <DateTime>,
cascadeCreate: <bool>,
recommId: <string>
)
);
POST /{databaseId}/viewportions/
Body (application/json):
{
"userId" => <string>,
"itemId" => <string>,
"portion" => <number>,
"sessionId" => <string>,
"timestamp" => <string / number>,
"cascadeCreate" => <boolean>,
"recommId" => <string>
}
Sets viewed portion of an item (for example a video or article) by a user (at a session).
If you send a new request with the same (userId
, itemId
, sessionId
), the portion gets updated.
Since version 2.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
2.1.0 |
ID of your database. |
||||
|
body |
string |
Yes |
2.1.0 |
User who viewed a portion of the item |
||||
|
body |
string |
Yes |
2.1.0 |
Viewed item |
||||
|
body |
number |
Yes |
2.1.0 |
Viewed portion of the item (number between 0.0 (viewed nothing) and 1.0 (viewed full item) ). It should be the actual viewed part of the item, no matter the seeking. For example, if the user seeked immediately to half of the item and then viewed 10% of the item, the |
||||
|
body |
string |
No |
2.1.0 |
ID of the session in which the user viewed the item. Default is |
||||
|
body |
string / number |
No |
2.1.0 |
UTC timestamp of the rating as ISO8601-1 pattern or UTC epoch time. The default value is the current time. |
||||
|
body |
boolean |
No |
2.1.0 |
Sets whether the given user/item should be created if not present in the database. |
||||
|
body |
string |
No |
2.2.0 |
If this view portion is based on a recommendation request, |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
The |
Delete View Portion¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteViewPortion(user_id, item_id,
# optional parameters:
session_id=<string>
)
)
client.send(DeleteViewPortion.new(userId, itemId, {
# optional parameters:
:session_id => <string>
})
)
client.send(new DeleteViewPortion(String userId, String itemId)
.setSessionId(String sessionId)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteViewPortion(userId, itemId, {
// optional parameters:
'sessionId': <string>
}), callback);
<?php
$client->send(new DeleteViewPortion($user_id, $item_id, [
// optional parameters:
'sessionId' => <string>
])
);
?>
client.Send(DeleteViewPortion(string userId, string itemId,
// optional parameters:
sessionId: <string>
)
);
DELETE /{databaseId}/viewportions/?userId=<string>&itemId=<string>&sessionId=<string>
Deletes an existing view portion specified by (userId
, itemId
, sessionId
) from the database.
API calls limit: 1000 requests per minute. This limit can be increased for a database by the Recombee support.
Since version 2.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
2.1.0 |
ID of your database. |
||||
|
query |
string |
Yes |
2.1.0 |
ID of the user who rated the item. |
||||
|
query |
string |
Yes |
2.1.0 |
ID of the item which was rated. |
||||
|
query |
string |
No |
2.1.0 |
Identifier of a session. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Given |
|
The |
List Item View Portions¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListItemViewPortions(item_id))
result = client.send(ListItemViewPortions.new(itemId))
ViewPortion[] result = client.send(new ListItemViewPortions(String itemId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListItemViewPortions(itemId), callback);
<?php
$result = $client->send(new ListItemViewPortions($item_id));
?>
IEnumerable<ViewPortion> result = client.Send(ListItemViewPortions(string itemId));
GET /{databaseId}/items/{itemId}/viewportions/
Lists all the view portions of an item ever submitted by different users.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Since version 2.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
2.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
2.1.0 |
ID of the item whose view portions are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-x",
"userId": "user-a",
"sessionId": "ABAD1D",
"portion": 0.5,
"timestamp": 1348151906.0
},
{
"itemId": "item-x",
"userId": "user-b",
"sessionId": null,
"portion": 1,
"timestamp": 1348239363.0
}
]
|
The |
|
Given |
List User View Portions¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListUserViewPortions(user_id))
result = client.send(ListUserViewPortions.new(userId))
ViewPortion[] result = client.send(new ListUserViewPortions(String userId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListUserViewPortions(userId), callback);
<?php
$result = $client->send(new ListUserViewPortions($user_id));
?>
IEnumerable<ViewPortion> result = client.Send(ListUserViewPortions(string userId));
GET /{databaseId}/users/{userId}/viewportions/
Lists all the view portions ever submitted by the given user.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Since version 2.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
2.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
2.1.0 |
ID of the user whose view portions are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemId": "item-x",
"userId": "user-a",
"sessionId": "ABAD1D",
"portion": 0.25,
"timestamp": 1348151906.0
},
{
"itemId": "item-y",
"userId": "user-a",
"sessionId": "EWQKOL",
"portion": 0.1,
"timestamp": 1348239363.0
}
]
|
The |
|
Given |
Recommendations¶
Recommendation methods are capable of recommending items (Recommend items to user, Recommend items to item) or users (Recommend users to item, Recommend users to user).
See Segmentations section for recommendation endpoints that return segments (e.g. recommend categories to a user).
Recommending Items¶
Recommendation endpoints that return the Items (content, products, etc.).
Recommend Items to User¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.RecommendItemsToUser(userId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'returnProperties': <boolean>,
'includedProperties': <array>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>,
'minRelevance': <string>,
'rotationRate': <number>,
'rotationTime': <number>
}), callback);
result = client.send(RecommendItemsToUser(user_id, count,
# optional parameters:
scenario=<string>,
cascade_create=<boolean>,
return_properties=<boolean>,
included_properties=<array>,
filter=<string>,
booster=<string>,
logic=<string / dict>,
min_relevance=<string>,
rotation_rate=<number>,
rotation_time=<number>
)
)
result = client.send(RecommendItemsToUser.new(userId, count, {
# optional parameters:
:scenario => <string>,
:cascade_create => <boolean>,
:return_properties => <boolean>,
:included_properties => <array>,
:filter => <string>,
:booster => <string>,
:logic => <string / Hash>,
:min_relevance => <string>,
:rotation_rate => <number>,
:rotation_time => <number>
})
)
RecommendationResponse result = client.send(new RecommendItemsToUser(String userId, long count)
.setScenario(String scenario)
.setCascadeCreate(boolean cascadeCreate)
.setReturnProperties(boolean returnProperties)
.setIncludedProperties(String[] includedProperties)
.setFilter(String filter)
.setBooster(String booster)
.setLogic(Logic logic)
.setMinRelevance(String minRelevance)
.setRotationRate(double rotationRate)
.setRotationTime(double rotationTime)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.RecommendItemsToUser(userId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'returnProperties': <boolean>,
'includedProperties': <array>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>,
'minRelevance': <string>,
'rotationRate': <number>,
'rotationTime': <number>
}), callback);
<?php
$result = $client->send(new RecommendItemsToUser($user_id, $count, [
// optional parameters:
'scenario' => <string>,
'cascadeCreate' => <boolean>,
'returnProperties' => <boolean>,
'includedProperties' => <array>,
'filter' => <string>,
'booster' => <string>,
'logic' => <string / array (map)>,
'minRelevance' => <string>,
'rotationRate' => <number>,
'rotationTime' => <number>
])
);
?>
RecommendationResponse result = client.Send(RecommendItemsToUser(string userId, long count,
// optional parameters:
scenario: <string>,
cascadeCreate: <bool>,
returnProperties: <bool>,
includedProperties: <string[]>,
filter: <string>,
booster: <string>,
logic: <Logic>,
minRelevance: <string>,
rotationRate: <double>,
rotationTime: <double>
)
);
GET /{databaseId}/recomms/users/{userId}/items/?count=<integer>&scenario=<string>&cascadeCreate=<boolean>&returnProperties=<boolean>&includedProperties=<array>&filter=<string>&booster=<string>&logic=<string / Object>&minRelevance=<string>&rotationRate=<number>&rotationTime=<number>
Based on the user’s past interactions (purchases, ratings, etc.) with the items, recommends top-N items that are most likely to be of high value for the given user.
The most typical use cases are recommendations on the homepage, in some “Picked just for you” section, or in email.
The returned items are sorted by relevance (the first item being the most relevant).
Besides the recommended items, also a unique recommId
is returned in the response. It can be used to:
Let Recombee know that this recommendation was successful (e.g., user clicked one of the recommended items). See Reported metrics.
Get subsequent recommended items when the user scrolls down (infinite scroll) or goes to the next page. See Recommend Next Items.
It is also possible to use POST HTTP method (for example in the case of a very long ReQL filter) - query parameters then become body parameters.
Since version 2.0.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
2.0.0 |
ID of your database. |
||||
|
path |
string |
Yes |
2.0.0 |
ID of the user for whom personalized recommendations are to be generated. |
||||
|
query |
integer |
Yes |
2.0.0 |
Number of items to be recommended (N for the top-N recommendation). |
||||
|
query |
string |
No |
2.0.0 |
Scenario defines a particular application of recommendations. It can be, for example, “homepage”, “cart”, or “emailing”. You can set various settings to the scenario in the Admin UI. You can also see the performance of each scenario in the Admin UI separately, so you can check how well each application performs. The AI that optimizes models to get the best results may optimize different scenarios separately or even use different models in each of the scenarios. |
||||
|
query |
boolean |
No |
2.0.0 |
If the user does not exist in the database, returns a list of non-personalized recommendations and creates the user in the database. This allows, for example, rotations in the following recommendations for that user, as the user will be already known to the system. |
||||
|
query |
boolean |
No |
2.0.0 |
With Example response: {
"recommId": "ce52ada4-e4d9-4885-943c-407db2dee837",
"recomms":
[
{
"id": "tv-178",
"values": {
"description": "4K TV with 3D feature",
"categories": ["Electronics", "Televisions"],
"price": 342,
"url": "myshop.com/tv-178"
}
},
{
"id": "mixer-42",
"values": {
"description": "Stainless Steel Mixer",
"categories": ["Home & Kitchen"],
"price": 39,
"url": "myshop.com/mixer-42"
}
}
],
"numberNextRecommsCalls": 0
}
|
||||
|
query |
array |
No |
2.0.0 |
Allows specifying which properties should be returned when Example response for {
"recommId": "a86ee8d5-cd8e-46d1-886c-8b3771d0520b",
"recomms":
[
{
"id": "tv-178",
"values": {
"description": "4K TV with 3D feature",
"price": 342
}
},
{
"id": "mixer-42",
"values": {
"description": "Stainless Steel Mixer",
"price": 39
}
}
],
"numberNextRecommsCalls": 0
}
|
||||
|
query |
string |
No |
2.0.0 |
Boolean-returning ReQL expression, which allows you to filter recommended items based on the values of their attributes. |
||||
|
query |
string |
No |
2.0.0 |
Number-returning ReQL expression, which allows you to boost the recommendation rate of some items based on the values of their attributes. Boosters can also be assigned to a scenario in the Admin UI. |
||||
|
query |
string / object |
No |
2.4.0 |
Logic specifies the particular behavior of the recommendation models. You can pick tailored logic for your domain and use case. See this section for a list of available logics and other details. The difference between |
||||
|
query |
string |
No |
2.0.0 |
Expert option Specifies the threshold of how relevant must the recommended items be to the user. Possible values one of: “low”, “medium”, “high”. The default value is “low”, meaning that the system attempts to recommend a number of items equal to count at any cost. If there is not enough data (such as interactions or item properties), this may even lead to bestseller-based recommendations to be appended to reach the full count. This behavior may be suppressed by using “medium” or “high” values. In such a case, the system only recommends items of at least the requested relevance and may return less than count items when there is not enough data to fulfill it. |
||||
|
query |
number |
No |
2.0.0 |
Expert option If your users browse the system in real-time, it may easily happen that you wish to offer them recommendations multiple times. Here comes the question: how much should the recommendations change? Should they remain the same, or should they rotate? Recombee API allows you to control this per request in a backward fashion. You may penalize an item for being recommended in the near past. For the specific user, |
||||
|
query |
number |
No |
2.0.0 |
Expert option Taking rotationRate into account, specifies how long it takes for an item to recover from the penalization. For example, |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"recommId": "3f6ad2f2-a3f1-4ba1-a690-f4f01f76d4eb",
"recomms": [
{
"id": "item-146"
},
{
"id": "item-462"
},
{
"id": "item-463"
}
],
"numberNextRecommsCalls": 0
}
|
userId does not match ^[a-zA-Z0-9_-:@.]+$, count is not a positive integer, filter or booster is not valid ReQL expressions, filter expression does not return boolean, booster does not return double or integer. |
|
userId not found in the database and cascadeCreate is false. If there is no additional info in the JSON response, you probably have an error in your URL. |
Recommend Items to Item¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.RecommendItemsToItem(itemId, targetUserId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'returnProperties': <boolean>,
'includedProperties': <array>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>,
'minRelevance': <string>,
'rotationRate': <number>,
'rotationTime': <number>
}), callback);
result = client.send(RecommendItemsToItem(item_id, target_user_id, count,
# optional parameters:
scenario=<string>,
cascade_create=<boolean>,
return_properties=<boolean>,
included_properties=<array>,
filter=<string>,
booster=<string>,
logic=<string / dict>,
min_relevance=<string>,
rotation_rate=<number>,
rotation_time=<number>
)
)
result = client.send(RecommendItemsToItem.new(itemId, targetUserId, count, {
# optional parameters:
:scenario => <string>,
:cascade_create => <boolean>,
:return_properties => <boolean>,
:included_properties => <array>,
:filter => <string>,
:booster => <string>,
:logic => <string / Hash>,
:min_relevance => <string>,
:rotation_rate => <number>,
:rotation_time => <number>
})
)
RecommendationResponse result = client.send(new RecommendItemsToItem(String itemId, String targetUserId, long count)
.setScenario(String scenario)
.setCascadeCreate(boolean cascadeCreate)
.setReturnProperties(boolean returnProperties)
.setIncludedProperties(String[] includedProperties)
.setFilter(String filter)
.setBooster(String booster)
.setLogic(Logic logic)
.setMinRelevance(String minRelevance)
.setRotationRate(double rotationRate)
.setRotationTime(double rotationTime)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.RecommendItemsToItem(itemId, targetUserId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'returnProperties': <boolean>,
'includedProperties': <array>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>,
'minRelevance': <string>,
'rotationRate': <number>,
'rotationTime': <number>
}), callback);
<?php
$result = $client->send(new RecommendItemsToItem($item_id, $target_user_id, $count, [
// optional parameters:
'scenario' => <string>,
'cascadeCreate' => <boolean>,
'returnProperties' => <boolean>,
'includedProperties' => <array>,
'filter' => <string>,
'booster' => <string>,
'logic' => <string / array (map)>,
'minRelevance' => <string>,
'rotationRate' => <number>,
'rotationTime' => <number>
])
);
?>
RecommendationResponse result = client.Send(RecommendItemsToItem(string itemId, string targetUserId, long count,
// optional parameters:
scenario: <string>,
cascadeCreate: <bool>,
returnProperties: <bool>,
includedProperties: <string[]>,
filter: <string>,
booster: <string>,
logic: <Logic>,
minRelevance: <string>,
rotationRate: <double>,
rotationTime: <double>
)
);
GET /{databaseId}/recomms/items/{itemId}/items/?targetUserId=<string>&count=<integer>&scenario=<string>&cascadeCreate=<boolean>&returnProperties=<boolean>&includedProperties=<array>&filter=<string>&booster=<string>&logic=<string / Object>&minRelevance=<string>&rotationRate=<number>&rotationTime=<number>
Recommends a set of items that are somehow related to one given item, X. A typical scenario is when the user A is viewing X. Then you may display items to the user that he might also be interested in. Recommend items to item request gives you Top-N such items, optionally taking the target user A into account.
The returned items are sorted by relevance (the first item being the most relevant).
Besides the recommended items, also a unique recommId
is returned in the response. It can be used to:
Let Recombee know that this recommendation was successful (e.g., user clicked one of the recommended items). See Reported metrics.
Get subsequent recommended items when the user scrolls down (infinite scroll) or goes to the next page. See Recommend Next Items.
It is also possible to use POST HTTP method (for example in the case of a very long ReQL filter) - query parameters then become body parameters.
Since version 2.0.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
2.0.0 |
ID of your database. |
||||
|
path |
string |
Yes |
2.0.0 |
ID of the item for which the recommendations are to be generated. |
||||
|
query |
string |
Yes |
2.0.0 |
ID of the user who will see the recommendations. Specifying the targetUserId is beneficial because:
If you insist on not specifying the user, pass For anonymous/unregistered users, it is possible to use, for example, their session ID. |
||||
|
query |
integer |
Yes |
2.0.0 |
Number of items to be recommended (N for the top-N recommendation). |
||||
|
query |
string |
No |
2.0.0 |
Scenario defines a particular application of recommendations. It can be, for example, “homepage”, “cart”, or “emailing”. You can set various settings to the scenario in the Admin UI. You can also see the performance of each scenario in the Admin UI separately, so you can check how well each application performs. The AI that optimizes models to get the best results may optimize different scenarios separately or even use different models in each of the scenarios. |
||||
|
query |
boolean |
No |
2.0.0 |
If an item of the given itemId or user of the given targetUserId doesn’t exist in the database, it creates the missing entity/entities and returns some (non-personalized) recommendations. This allows, for example, rotations in the following recommendations for the user of the given targetUserId, as the user will be already known to the system. |
||||
|
query |
boolean |
No |
2.0.0 |
With Example response: {
"recommId": "0c6189e7-dc1a-429a-b613-192696309361",
"recomms":
[
{
"id": "tv-178",
"values": {
"description": "4K TV with 3D feature",
"categories": ["Electronics", "Televisions"],
"price": 342,
"url": "myshop.com/tv-178"
}
},
{
"id": "mixer-42",
"values": {
"description": "Stainless Steel Mixer",
"categories": ["Home & Kitchen"],
"price": 39,
"url": "myshop.com/mixer-42"
}
}
],
"numberNextRecommsCalls": 0
}
|
||||
|
query |
array |
No |
2.0.0 |
Allows specifying which properties should be returned when Example response for {
"recommId": "6842c725-a79f-4537-a02c-f34d668a3f80",
"recomms":
[
{
"id": "tv-178",
"values": {
"description": "4K TV with 3D feature",
"price": 342
}
},
{
"id": "mixer-42",
"values": {
"description": "Stainless Steel Mixer",
"price": 39
}
}
],
"numberNextRecommsCalls": 0
}
|
||||
|
query |
string |
No |
2.0.0 |
Boolean-returning ReQL expression, which allows you to filter recommended items based on the values of their attributes. |
||||
|
query |
string |
No |
2.0.0 |
Number-returning ReQL expression, which allows you to boost the recommendation rate of some items based on the values of their attributes. Boosters can also be assigned to a scenario in the Admin UI. |
||||
|
query |
string / object |
No |
2.4.0 |
Logic specifies the particular behavior of the recommendation models. You can pick tailored logic for your domain and use case. See this section for a list of available logics and other details. The difference between |
||||
|
query |
string |
No |
2.0.0 |
Expert option If the targetUserId is provided: Specifies the threshold of how relevant must the recommended items be to the user. Possible values one of: “low”, “medium”, “high”. The default value is “low”, meaning that the system attempts to recommend a number of items equal to count at any cost. If there is not enough data (such as interactions or item properties), this may even lead to bestseller-based recommendations being appended to reach the full count. This behavior may be suppressed by using “medium” or “high” values. In such case, the system only recommends items of at least the requested relevance and may return less than count items when there is not enough data to fulfill it. |
||||
|
query |
number |
No |
2.0.0 |
Expert option If the targetUserId is provided: If your users browse the system in real-time, it may easily happen that you wish to offer them recommendations multiple times. Here comes the question: how much should the recommendations change? Should they remain the same, or should they rotate? Recombee API allows you to control this per request in a backward fashion. You may penalize an item for being recommended in the near past. For the specific user, |
||||
|
query |
number |
No |
2.0.0 |
Expert option If the targetUserId is provided: Taking rotationRate into account, specifies how long it takes for an item to recover from the penalization. For example, |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"recommId": "768448ea-10b3-4028-bb76-4b2f95121d19",
"recomms": [
{
"id": "item-146"
},
{
"id": "item-462"
},
{
"id": "item-463"
}
],
"numberNextRecommsCalls": 0
}
|
itemId does not match ^[a-zA-Z0-9_-:@.]+$, count is not a positive integer, filter or booster is not valid ReQL expressions, filter expression does not return boolean, booster does not return double or integer. |
|
itemId not found in the database and cascadeCreate is false. If there is no additional info in the JSON response, you probably have an error in your URL. |
Recommend Next Items¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.RecommendNextItems(recommId, count), callback);
result = client.send(RecommendNextItems(recomm_id, count))
result = client.send(RecommendNextItems.new(recommId, count))
RecommendationResponse result = client.send(new RecommendNextItems(String recommId, long count));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.RecommendNextItems(recommId, count), callback);
<?php
$result = $client->send(new RecommendNextItems($recomm_id, $count));
?>
RecommendationResponse result = client.Send(RecommendNextItems(string recommId, long count));
GET /{databaseId}/recomms/next/items/{recommId}?count=<integer>
Returns items that shall be shown to a user as next recommendations when the user e.g. scrolls the page down (infinite scroll) or goes to the next page.
It accepts recommId
of a base recommendation request (e.g., request from the first page) and the number of items that shall be returned (count
).
The base request can be one of:
All the other parameters are inherited from the base request.
Recommend next items can be called many times for a single recommId
and each call returns different (previously not recommended) items.
The number of Recommend next items calls performed so far is returned in the numberNextRecommsCalls
field.
Recommend next items can be requested up to 30 minutes after the base request or a previous Recommend next items call.
For billing purposes, each call to Recommend next items is counted as a separate recommendation request.
Since version 3.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
3.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
3.1.0 |
ID of the base recommendation request for which next recommendations should be returned |
||||
|
query |
integer |
Yes |
3.1.0 |
Number of items to be recommended |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"recommId": "768448ea-10b3-4028-bb76-4b2f95121d19",
"recomms": [
{
"id": "item-176"
},
{
"id": "item-141"
},
{
"id": "item-967"
}
],
"numberNextRecommsCalls": 4
}
|
Parameter |
|
Base request with the given |
Recommending Item Segments¶
Recommendation endpoints that return the Item Segments (categories, genres, artists, etc.).
Recommend Item Segments to User¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.RecommendItemSegmentsToUser(userId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
result = client.send(RecommendItemSegmentsToUser(user_id, count,
# optional parameters:
scenario=<string>,
cascade_create=<boolean>,
filter=<string>,
booster=<string>,
logic=<string / dict>
)
)
result = client.send(RecommendItemSegmentsToUser.new(userId, count, {
# optional parameters:
:scenario => <string>,
:cascade_create => <boolean>,
:filter => <string>,
:booster => <string>,
:logic => <string / Hash>
})
)
RecommendationResponse result = client.send(new RecommendItemSegmentsToUser(String userId, long count)
.setScenario(String scenario)
.setCascadeCreate(boolean cascadeCreate)
.setFilter(String filter)
.setBooster(String booster)
.setLogic(Logic logic)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.RecommendItemSegmentsToUser(userId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
<?php
$result = $client->send(new RecommendItemSegmentsToUser($user_id, $count, [
// optional parameters:
'scenario' => <string>,
'cascadeCreate' => <boolean>,
'filter' => <string>,
'booster' => <string>,
'logic' => <string / array (map)>
])
);
?>
RecommendationResponse result = client.Send(RecommendItemSegmentsToUser(string userId, long count,
// optional parameters:
scenario: <string>,
cascadeCreate: <bool>,
filter: <string>,
booster: <string>,
logic: <Logic>
)
);
GET /{databaseId}/recomms/users/{userId}/item-segments/?count=<integer>&scenario=<string>&cascadeCreate=<boolean>&filter=<string>&booster=<string>&logic=<string / Object>
Recommends the top Segments from a Segmentation for a particular user, based on the user’s past interactions.
Based on the used Segmentation, this endpoint can be used for example for:
Recommending the top categories for the user
Recommending the top genres for the user
Recommending the top brands for the user
Recommending the top artists for the user
You need to set the used Segmentation the Admin UI in the Scenario settings prior to using this endpoint.
The returned segments are sorted by relevance (first segment being the most relevant).
It is also possible to use POST HTTP method (for example in case of very long ReQL filter) - query parameters then become body parameters.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the user for whom personalized recommendations are to be generated. |
||||
|
query |
integer |
Yes |
4.1.0 |
Number of item segments to be recommended (N for the top-N recommendation). |
||||
|
query |
string |
No |
4.1.0 |
Scenario defines a particular application of recommendations. It can be, for example, “homepage”, “cart”, or “emailing”. You can set various settings to the scenario in the Admin UI. You can also see the performance of each scenario in the Admin UI separately, so you can check how well each application performs. The AI that optimizes models to get the best results may optimize different scenarios separately or even use different models in each of the scenarios. |
||||
|
query |
boolean |
No |
4.1.0 |
If the user does not exist in the database, returns a list of non-personalized recommendations and creates the user in the database. This allows, for example, rotations in the following recommendations for that user, as the user will be already known to the system. |
||||
|
query |
string |
No |
4.1.0 |
Boolean-returning ReQL expression which allows you to filter recommended segments based on the |
||||
|
query |
string |
No |
4.1.0 |
Number-returning ReQL expression which allows you to boost recommendation rate of some segments based on the |
||||
|
query |
string / object |
No |
4.1.0 |
Logic specifies the particular behavior of the recommendation models. You can pick tailored logic for your domain and use case. See this section for a list of available logics and other details. The difference between |
Responses¶
Response |
Description |
---|---|
|
successful operation |
Example of response:
{
"recommId": "5fbd94fa-2553-422c-bdb5-af82687d8c6a",
"recomms": [
{
"id": "category-rap"
},
{
"id": "category-dnb"
},
{
"id": "category-electronic"
}
],
"numberNextRecommsCalls": 0
}
|
Used Segmentation not configured for the scenario. userId does not match ^[a-zA-Z0-9_-:@.]+$, count is not a positive integer. |
|
userId not found in the database and cascadeCreate is false |
Recommend Item Segments to Item¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.RecommendItemSegmentsToItem(itemId, targetUserId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
result = client.send(RecommendItemSegmentsToItem(item_id, target_user_id, count,
# optional parameters:
scenario=<string>,
cascade_create=<boolean>,
filter=<string>,
booster=<string>,
logic=<string / dict>
)
)
result = client.send(RecommendItemSegmentsToItem.new(itemId, targetUserId, count, {
# optional parameters:
:scenario => <string>,
:cascade_create => <boolean>,
:filter => <string>,
:booster => <string>,
:logic => <string / Hash>
})
)
RecommendationResponse result = client.send(new RecommendItemSegmentsToItem(String itemId, String targetUserId, long count)
.setScenario(String scenario)
.setCascadeCreate(boolean cascadeCreate)
.setFilter(String filter)
.setBooster(String booster)
.setLogic(Logic logic)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.RecommendItemSegmentsToItem(itemId, targetUserId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
<?php
$result = $client->send(new RecommendItemSegmentsToItem($item_id, $target_user_id, $count, [
// optional parameters:
'scenario' => <string>,
'cascadeCreate' => <boolean>,
'filter' => <string>,
'booster' => <string>,
'logic' => <string / array (map)>
])
);
?>
RecommendationResponse result = client.Send(RecommendItemSegmentsToItem(string itemId, string targetUserId, long count,
// optional parameters:
scenario: <string>,
cascadeCreate: <bool>,
filter: <string>,
booster: <string>,
logic: <Logic>
)
);
GET /{databaseId}/recomms/items/{itemId}/item-segments/?targetUserId=<string>&count=<integer>&scenario=<string>&cascadeCreate=<boolean>&filter=<string>&booster=<string>&logic=<string / Object>
Recommends Segments from a Segmentation that are the most relevant to a particular item.
Based on the used Segmentation, this endpoint can be used for example for:
Recommending the related categories
Recommending the related genres
Recommending the related brands
Recommending the related artists
You need to set the used Segmentation the Admin UI in the Scenario settings prior to using this endpoint.
The returned segments are sorted by relevance (first segment being the most relevant).
It is also possible to use POST HTTP method (for example in case of very long ReQL filter) - query parameters then become body parameters.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the item for which the recommendations are to be generated. |
||||
|
query |
string |
Yes |
4.1.0 |
ID of the user who will see the recommendations. Specifying the targetUserId is beneficial because:
If you insist on not specifying the user, pass For anonymous/unregistered users, it is possible to use, for example, their session ID. |
||||
|
query |
integer |
Yes |
4.1.0 |
Number of item segments to be recommended (N for the top-N recommendation). |
||||
|
query |
string |
No |
4.1.0 |
Scenario defines a particular application of recommendations. It can be, for example, “homepage”, “cart”, or “emailing”. You can set various settings to the scenario in the Admin UI. You can also see the performance of each scenario in the Admin UI separately, so you can check how well each application performs. The AI that optimizes models to get the best results may optimize different scenarios separately or even use different models in each of the scenarios. |
||||
|
query |
boolean |
No |
4.1.0 |
If the user does not exist in the database, returns a list of non-personalized recommendations and creates the user in the database. This allows, for example, rotations in the following recommendations for that user, as the user will be already known to the system. |
||||
|
query |
string |
No |
4.1.0 |
Boolean-returning ReQL expression which allows you to filter recommended segments based on the |
||||
|
query |
string |
No |
4.1.0 |
Number-returning ReQL expression which allows you to boost recommendation rate of some segments based on the |
||||
|
query |
string / object |
No |
4.1.0 |
Logic specifies the particular behavior of the recommendation models. You can pick tailored logic for your domain and use case. See this section for a list of available logics and other details. The difference between |
Responses¶
Response |
Description |
---|---|
|
successful operation |
Example of response:
{
"recommId": "5fbd94fa-2553-422c-bdb5-af82687d8c6a",
"recomms": [
{
"id": "category-rap"
},
{
"id": "category-dnb"
},
{
"id": "category-electronic"
}
],
"numberNextRecommsCalls": 0
}
|
Used Segmentation not configured for the scenario. itemId does not match ^[a-zA-Z0-9_-:@.]+$, count is not a positive integer. |
|
itemId not found in the database and cascadeCreate is false |
Recommend Item Segments to Item Segment¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.RecommendItemSegmentsToItemSegment(contextSegmentId, targetUserId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
result = client.send(RecommendItemSegmentsToItemSegment(context_segment_id, target_user_id, count,
# optional parameters:
scenario=<string>,
cascade_create=<boolean>,
filter=<string>,
booster=<string>,
logic=<string / dict>
)
)
result = client.send(RecommendItemSegmentsToItemSegment.new(contextSegmentId, targetUserId, count, {
# optional parameters:
:scenario => <string>,
:cascade_create => <boolean>,
:filter => <string>,
:booster => <string>,
:logic => <string / Hash>
})
)
RecommendationResponse result = client.send(new RecommendItemSegmentsToItemSegment(String contextSegmentId, String targetUserId, long count)
.setScenario(String scenario)
.setCascadeCreate(boolean cascadeCreate)
.setFilter(String filter)
.setBooster(String booster)
.setLogic(Logic logic)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.RecommendItemSegmentsToItemSegment(contextSegmentId, targetUserId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
<?php
$result = $client->send(new RecommendItemSegmentsToItemSegment($context_segment_id, $target_user_id, $count, [
// optional parameters:
'scenario' => <string>,
'cascadeCreate' => <boolean>,
'filter' => <string>,
'booster' => <string>,
'logic' => <string / array (map)>
])
);
?>
RecommendationResponse result = client.Send(RecommendItemSegmentsToItemSegment(string contextSegmentId, string targetUserId, long count,
// optional parameters:
scenario: <string>,
cascadeCreate: <bool>,
filter: <string>,
booster: <string>,
logic: <Logic>
)
);
GET /{databaseId}/recomms/item-segments/item-segments/?contextSegmentId=<string>&targetUserId=<string>&count=<integer>&scenario=<string>&cascadeCreate=<boolean>&filter=<string>&booster=<string>&logic=<string / Object>
Recommends Segments from a result Segmentation that are the most relevant to a particular Segment from a context Segmentation.
Based on the used Segmentations, this endpoint can be used for example for:
Recommending the related brands to particular brand
Recommending the related brands to particular category
Recommending the related artists to a particular genre (assuming songs are the Items)
You need to set the used context and result Segmentation the Admin UI in the Scenario settings prior to using this endpoint.
The returned segments are sorted by relevance (first segment being the most relevant).
It is also possible to use POST HTTP method (for example in case of very long ReQL filter) - query parameters then become body parameters.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
query |
string |
Yes |
4.1.0 |
ID of the segment from |
||||
|
query |
string |
Yes |
4.1.0 |
ID of the user who will see the recommendations. Specifying the targetUserId is beneficial because:
If you insist on not specifying the user, pass For anonymous/unregistered users, it is possible to use, for example, their session ID. |
||||
|
query |
integer |
Yes |
4.1.0 |
Number of item segments to be recommended (N for the top-N recommendation). |
||||
|
query |
string |
No |
4.1.0 |
Scenario defines a particular application of recommendations. It can be, for example, “homepage”, “cart”, or “emailing”. You can set various settings to the scenario in the Admin UI. You can also see the performance of each scenario in the Admin UI separately, so you can check how well each application performs. The AI that optimizes models to get the best results may optimize different scenarios separately or even use different models in each of the scenarios. |
||||
|
query |
boolean |
No |
4.1.0 |
If the user does not exist in the database, returns a list of non-personalized recommendations and creates the user in the database. This allows, for example, rotations in the following recommendations for that user, as the user will be already known to the system. |
||||
|
query |
string |
No |
4.1.0 |
Boolean-returning ReQL expression which allows you to filter recommended segments based on the |
||||
|
query |
string |
No |
4.1.0 |
Number-returning ReQL expression which allows you to boost recommendation rate of some segments based on the |
||||
|
query |
string / object |
No |
4.1.0 |
Logic specifies the particular behavior of the recommendation models. You can pick tailored logic for your domain and use case. See this section for a list of available logics and other details. The difference between |
Responses¶
Response |
Description |
---|---|
|
successful operation |
Example of response:
{
"recommId": "5fbd94fa-2553-422c-bdb5-af82687d8c6a",
"recomms": [
{
"id": "category-rap"
},
{
"id": "category-dnb"
},
{
"id": "category-electronic"
}
],
"numberNextRecommsCalls": 0
}
|
count is not a positive integer. |
|
contextSegmentId not found in the context segmentation |
Recommending Users¶
Recommendation endpoints that return the Users.
Recommend Users to User¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(RecommendUsersToUser(user_id, count,
# optional parameters:
scenario=<string>,
cascade_create=<boolean>,
return_properties=<boolean>,
included_properties=<array>,
filter=<string>,
booster=<string>,
logic=<string / dict>
)
)
result = client.send(RecommendUsersToUser.new(userId, count, {
# optional parameters:
:scenario => <string>,
:cascade_create => <boolean>,
:return_properties => <boolean>,
:included_properties => <array>,
:filter => <string>,
:booster => <string>,
:logic => <string / Hash>
})
)
RecommendationResponse result = client.send(new RecommendUsersToUser(String userId, long count)
.setScenario(String scenario)
.setCascadeCreate(boolean cascadeCreate)
.setReturnProperties(boolean returnProperties)
.setIncludedProperties(String[] includedProperties)
.setFilter(String filter)
.setBooster(String booster)
.setLogic(Logic logic)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.RecommendUsersToUser(userId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'returnProperties': <boolean>,
'includedProperties': <array>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
<?php
$result = $client->send(new RecommendUsersToUser($user_id, $count, [
// optional parameters:
'scenario' => <string>,
'cascadeCreate' => <boolean>,
'returnProperties' => <boolean>,
'includedProperties' => <array>,
'filter' => <string>,
'booster' => <string>,
'logic' => <string / array (map)>
])
);
?>
RecommendationResponse result = client.Send(RecommendUsersToUser(string userId, long count,
// optional parameters:
scenario: <string>,
cascadeCreate: <bool>,
returnProperties: <bool>,
includedProperties: <string[]>,
filter: <string>,
booster: <string>,
logic: <Logic>
)
);
GET /{databaseId}/recomms/users/{userId}/users/?count=<integer>&scenario=<string>&cascadeCreate=<boolean>&returnProperties=<boolean>&includedProperties=<array>&filter=<string>&booster=<string>&logic=<string / Object>
Gets users similar to the given user, based on the user’s past interactions (purchases, ratings, etc.) and values of properties.
It is also possible to use POST HTTP method (for example in the case of a very long ReQL filter) - query parameters then become body parameters.
The returned users are sorted by similarity (the first user being the most similar).
Since version 2.0.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
2.0.0 |
ID of your database. |
||||
|
path |
string |
Yes |
2.0.0 |
User to whom we find similar users |
||||
|
query |
integer |
Yes |
2.0.0 |
Number of users to be recommended (N for the top-N recommendation). |
||||
|
query |
string |
No |
2.0.0 |
Scenario defines a particular application of recommendations. It can be, for example, “homepage”, “cart”, or “emailing”. You can set various settings to the scenario in the Admin UI. You can also see the performance of each scenario in the Admin UI separately, so you can check how well each application performs. The AI that optimizes models to get the best results may optimize different scenarios separately or even use different models in each of the scenarios. |
||||
|
query |
boolean |
No |
2.0.0 |
If the user does not exist in the database, returns a list of non-personalized recommendations and creates the user in the database. This allows, for example, rotations in the following recommendations for that user, as the user will be already known to the system. |
||||
|
query |
boolean |
No |
2.0.0 |
With Example response: {
"recommId": "9cb9c55d-50ba-4478-84fd-ab456136156e",
"recomms":
[
{
"id": "user-17",
"values": {
"country": "US",
"sex": "F"
}
},
{
"id": "user-2",
"values": {
"country": "CAN",
"sex": "M"
}
}
],
"numberNextRecommsCalls": 0
}
|
||||
|
query |
array |
No |
2.0.0 |
Allows specifying which properties should be returned when Example response for {
"recommId": "b326d82d-5d57-4b45-b362-c9d6f0895855",
"recomms":
[
{
"id": "user-17",
"values": {
"country": "US"
}
},
{
"id": "user-2",
"values": {
"country": "CAN"
}
}
],
"numberNextRecommsCalls": 0
}
|
||||
|
query |
string |
No |
2.0.0 |
Boolean-returning ReQL expression, which allows you to filter recommended items based on the values of their attributes. |
||||
|
query |
string |
No |
2.0.0 |
Number-returning ReQL expression, which allows you to boost the recommendation rate of some items based on the values of their attributes. Boosters can also be assigned to a scenario in the Admin UI. |
||||
|
query |
string / object |
No |
2.4.0 |
Logic specifies the particular behavior of the recommendation models. You can pick tailored logic for your domain and use case. See this section for a list of available logics and other details. The difference between |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"recommId": "f88d970d-561c-460f-b4d4-faf0478244ca",
"recomms": [
{
"id": "user-64"
},
{
"id": "user-42"
},
{
"id": "user-23"
}
],
"numberNextRecommsCalls": 0
}
|
userId does not match ^[a-zA-Z0-9_-:@.]+$, count is not a positive integer, filter or booster is not valid ReQL expressions, filter expression does not return boolean, booster does not return double or integer. |
|
userId not found in the database and cascadeCreate is false. If there is no additional info in the JSON response, you probably have an error in your URL. |
Recommend Users to Item¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(RecommendUsersToItem(item_id, count,
# optional parameters:
scenario=<string>,
cascade_create=<boolean>,
return_properties=<boolean>,
included_properties=<array>,
filter=<string>,
booster=<string>,
logic=<string / dict>
)
)
result = client.send(RecommendUsersToItem.new(itemId, count, {
# optional parameters:
:scenario => <string>,
:cascade_create => <boolean>,
:return_properties => <boolean>,
:included_properties => <array>,
:filter => <string>,
:booster => <string>,
:logic => <string / Hash>
})
)
RecommendationResponse result = client.send(new RecommendUsersToItem(String itemId, long count)
.setScenario(String scenario)
.setCascadeCreate(boolean cascadeCreate)
.setReturnProperties(boolean returnProperties)
.setIncludedProperties(String[] includedProperties)
.setFilter(String filter)
.setBooster(String booster)
.setLogic(Logic logic)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.RecommendUsersToItem(itemId, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'returnProperties': <boolean>,
'includedProperties': <array>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
<?php
$result = $client->send(new RecommendUsersToItem($item_id, $count, [
// optional parameters:
'scenario' => <string>,
'cascadeCreate' => <boolean>,
'returnProperties' => <boolean>,
'includedProperties' => <array>,
'filter' => <string>,
'booster' => <string>,
'logic' => <string / array (map)>
])
);
?>
RecommendationResponse result = client.Send(RecommendUsersToItem(string itemId, long count,
// optional parameters:
scenario: <string>,
cascadeCreate: <bool>,
returnProperties: <bool>,
includedProperties: <string[]>,
filter: <string>,
booster: <string>,
logic: <Logic>
)
);
GET /{databaseId}/recomms/items/{itemId}/users/?count=<integer>&scenario=<string>&cascadeCreate=<boolean>&returnProperties=<boolean>&includedProperties=<array>&filter=<string>&booster=<string>&logic=<string / Object>
Recommends users that are likely to be interested in the given item.
It is also possible to use POST HTTP method (for example in the case of a very long ReQL filter) - query parameters then become body parameters.
The returned users are sorted by predicted interest in the item (the first user being the most interested).
Since version 2.0.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
2.0.0 |
ID of your database. |
||||
|
path |
string |
Yes |
2.0.0 |
ID of the item for which the recommendations are to be generated. |
||||
|
query |
integer |
Yes |
2.0.0 |
Number of items to be recommended (N for the top-N recommendation). |
||||
|
query |
string |
No |
2.0.0 |
Scenario defines a particular application of recommendations. It can be, for example, “homepage”, “cart”, or “emailing”. You can set various settings to the scenario in the Admin UI. You can also see the performance of each scenario in the Admin UI separately, so you can check how well each application performs. The AI that optimizes models to get the best results may optimize different scenarios separately or even use different models in each of the scenarios. |
||||
|
query |
boolean |
No |
2.0.0 |
If an item of the given itemId doesn’t exist in the database, it creates the missing item. |
||||
|
query |
boolean |
No |
2.0.0 |
With Example response: {
"recommId": "039b71dc-b9cc-4645-a84f-62b841eecfce",
"recomms":
[
{
"id": "user-17",
"values": {
"country": "US",
"sex": "F"
}
},
{
"id": "user-2",
"values": {
"country": "CAN",
"sex": "M"
}
}
],
"numberNextRecommsCalls": 0
}
|
||||
|
query |
array |
No |
2.0.0 |
Allows specifying which properties should be returned when Example response for {
"recommId": "b2b355dd-972a-4728-9c6b-2dc229db0678",
"recomms":
[
{
"id": "user-17",
"values": {
"country": "US"
}
},
{
"id": "user-2",
"values": {
"country": "CAN"
}
}
],
"numberNextRecommsCalls": 0
}
|
||||
|
query |
string |
No |
2.0.0 |
Boolean-returning ReQL expression, which allows you to filter recommended items based on the values of their attributes. |
||||
|
query |
string |
No |
2.0.0 |
Number-returning ReQL expression, which allows you to boost the recommendation rate of some items based on the values of their attributes. Boosters can also be assigned to a scenario in the Admin UI. |
||||
|
query |
string / object |
No |
2.4.0 |
Logic specifies the particular behavior of the recommendation models. You can pick tailored logic for your domain and use case. See this section for a list of available logics and other details. The difference between |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"recommId": "ee94fa8b-efe7-4b35-abc6-2bc3456d66ed",
"recomms": [
{
"id": "user-64"
},
{
"id": "user-42"
},
{
"id": "user-23"
}
],
"numberNextRecommsCalls": 0
}
|
itemId does not match ^[a-zA-Z0-9_-:@.]+$, count is not a positive integer, filter or booster is not valid ReQL expressions, filter expression does not return boolean, booster does not return double or integer. |
|
itemId not found in the database and cascadeCreate is false. If there is no additional info in the JSON response, you probably have an error in your URL. |
Search¶
Full-text personalized search. The results are based on the full-text matching of a search query and the preferences of a particular user.
Search Items¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.SearchItems(userId, searchQuery, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'returnProperties': <boolean>,
'includedProperties': <array>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
result = client.send(SearchItems(user_id, search_query, count,
# optional parameters:
scenario=<string>,
cascade_create=<boolean>,
return_properties=<boolean>,
included_properties=<array>,
filter=<string>,
booster=<string>,
logic=<string / dict>
)
)
result = client.send(SearchItems.new(userId, searchQuery, count, {
# optional parameters:
:scenario => <string>,
:cascade_create => <boolean>,
:return_properties => <boolean>,
:included_properties => <array>,
:filter => <string>,
:booster => <string>,
:logic => <string / Hash>
})
)
SearchResponse result = client.send(new SearchItems(String userId, String searchQuery, long count)
.setScenario(String scenario)
.setCascadeCreate(boolean cascadeCreate)
.setReturnProperties(boolean returnProperties)
.setIncludedProperties(String[] includedProperties)
.setFilter(String filter)
.setBooster(String booster)
.setLogic(Logic logic)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.SearchItems(userId, searchQuery, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'returnProperties': <boolean>,
'includedProperties': <array>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
<?php
$result = $client->send(new SearchItems($user_id, $search_query, $count, [
// optional parameters:
'scenario' => <string>,
'cascadeCreate' => <boolean>,
'returnProperties' => <boolean>,
'includedProperties' => <array>,
'filter' => <string>,
'booster' => <string>,
'logic' => <string / array (map)>
])
);
?>
SearchResponse result = client.Send(SearchItems(string userId, string searchQuery, long count,
// optional parameters:
scenario: <string>,
cascadeCreate: <bool>,
returnProperties: <bool>,
includedProperties: <string[]>,
filter: <string>,
booster: <string>,
logic: <Logic>
)
);
GET /{databaseId}/search/users/{userId}/items/?searchQuery=<string>&count=<integer>&scenario=<string>&cascadeCreate=<boolean>&returnProperties=<boolean>&includedProperties=<array>&filter=<string>&booster=<string>&logic=<string / Object>
Full-text personalized search. The results are based on the provided searchQuery
and also on the user’s past interactions (purchases, ratings, etc.) with the items (items more suitable for the user are preferred in the results).
All the string and set item properties are indexed by the search engine.
This endpoint should be used in a search box on your website/app. It can be called multiple times as the user is typing the query in order to get the most viable suggestions based on the current state of the query, or once after submitting the whole query.
The returned items are sorted by relevance (the first item being the most relevant).
Besides the recommended items, also a unique recommId
is returned in the response. It can be used to:
Let Recombee know that this search was successful (e.g., user clicked one of the recommended items). See Reported metrics.
Get subsequent search results when the user scrolls down or goes to the next page. See Recommend Next Items.
It is also possible to use POST HTTP method (for example in the case of a very long ReQL filter) - query parameters then become body parameters.
Since version 3.0.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
3.0.0 |
ID of your database. |
||||
|
path |
string |
Yes |
3.0.0 |
ID of the user for whom personalized search will be performed. |
||||
|
query |
string |
Yes |
3.0.0 |
Search query provided by the user. It is used for the full-text search. |
||||
|
query |
integer |
Yes |
3.0.0 |
Number of items to be returned (N for the top-N results). |
||||
|
query |
string |
No |
3.0.0 |
Scenario defines a particular search field in your user interface. You can set various settings to the scenario in the Admin UI. You can also see the performance of each scenario in the Admin UI separately, so you can check how well each field performs. The AI that optimizes models to get the best results may optimize different scenarios separately, or even use different models in each of the scenarios. |
||||
|
query |
boolean |
No |
3.0.0 |
If the user does not exist in the database, returns a list of non-personalized search results and creates the user in the database. This allows, for example, rotations in the following recommendations for that user, as the user will be already known to the system. |
||||
|
query |
boolean |
No |
3.0.0 |
With Example response: {
"recommId": "ce52ada4-e4d9-4885-943c-407db2dee837",
"recomms":
[
{
"id": "tv-178",
"values": {
"description": "4K TV with 3D feature",
"categories": ["Electronics", "Televisions"],
"price": 342,
"url": "myshop.com/tv-178"
}
},
{
"id": "mixer-42",
"values": {
"description": "Stainless Steel Mixer",
"categories": ["Home & Kitchen"],
"price": 39,
"url": "myshop.com/mixer-42"
}
}
],
"numberNextRecommsCalls": 0
}
|
||||
|
query |
array |
No |
3.0.0 |
Allows specifying which properties should be returned when Example response for {
"recommId": "a86ee8d5-cd8e-46d1-886c-8b3771d0520b",
"recomms":
[
{
"id": "tv-178",
"values": {
"description": "4K TV with 3D feature",
"price": 342
}
},
{
"id": "mixer-42",
"values": {
"description": "Stainless Steel Mixer",
"price": 39
}
}
],
"numberNextRecommsCalls": 0
}
|
||||
|
query |
string |
No |
2.0.0 |
Boolean-returning ReQL expression, which allows you to filter recommended items based on the values of their attributes. |
||||
|
query |
string |
No |
2.0.0 |
Number-returning ReQL expression, which allows you to boost the recommendation rate of some items based on the values of their attributes. Boosters can also be assigned to a scenario in the Admin UI. |
||||
|
query |
string / object |
No |
2.4.0 |
Logic specifies the particular behavior of the recommendation models. You can pick tailored logic for your domain and use case. See this section for a list of available logics and other details. The difference between |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"recommId": "4fd901fe-4ba1-a3f1-a690-f4f01f76d4eb",
"recomms": [
{
"id": "item-476"
},
{
"id": "item-412"
},
{
"id": "item-773"
}
],
"numberNextRecommsCalls": 0
}
|
userId does not match ^[a-zA-Z0-9_-:@.]+$, count is not a positive integer, searchQuery is not provided, filter or booster are not valid ReQL expressions, filter expression does not return boolean, booster does not return double or integer. |
|
userId not found in the database and cascadeCreate is false. If there is no additional info in the JSON response, you probably have an error in you URL. |
Search Item Segments¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(new recombee.SearchItemSegments(userId, searchQuery, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
result = client.send(SearchItemSegments(user_id, search_query, count,
# optional parameters:
scenario=<string>,
cascade_create=<boolean>,
filter=<string>,
booster=<string>,
logic=<string / dict>
)
)
result = client.send(SearchItemSegments.new(userId, searchQuery, count, {
# optional parameters:
:scenario => <string>,
:cascade_create => <boolean>,
:filter => <string>,
:booster => <string>,
:logic => <string / Hash>
})
)
SearchResponse result = client.send(new SearchItemSegments(String userId, String searchQuery, long count)
.setScenario(String scenario)
.setCascadeCreate(boolean cascadeCreate)
.setFilter(String filter)
.setBooster(String booster)
.setLogic(Logic logic)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.SearchItemSegments(userId, searchQuery, count, {
// optional parameters:
'scenario': <string>,
'cascadeCreate': <boolean>,
'filter': <string>,
'booster': <string>,
'logic': <string / Object>
}), callback);
<?php
$result = $client->send(new SearchItemSegments($user_id, $search_query, $count, [
// optional parameters:
'scenario' => <string>,
'cascadeCreate' => <boolean>,
'filter' => <string>,
'booster' => <string>,
'logic' => <string / array (map)>
])
);
?>
SearchResponse result = client.Send(SearchItemSegments(string userId, string searchQuery, long count,
// optional parameters:
scenario: <string>,
cascadeCreate: <bool>,
filter: <string>,
booster: <string>,
logic: <Logic>
)
);
GET /{databaseId}/search/users/{userId}/item-segments/?searchQuery=<string>&count=<integer>&scenario=<string>&cascadeCreate=<boolean>&filter=<string>&booster=<string>&logic=<string / Object>
Full-text personalized search that returns Segments from a Segmentation. The results are based on the provided searchQuery
and also on the user’s past interactions (purchases, ratings, etc.).
Based on the used Segmentation, this endpoint can be used for example for:
Searching within categories or brands
Searching within genres or artists
For example if the user is searching for “iPhone” this endpoint can return “cell phones” category.
You need to set the used Segmentation the Admin UI in the Scenario settings prior to using this endpoint.
The returned segments are sorted by relevance (first segment being the most relevant).
It is also possible to use POST HTTP method (for example in case of very long ReQL filter) - query parameters then become body parameters.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the user for whom personalized search will be performed. |
||||
|
query |
string |
Yes |
4.1.0 |
Search query provided by the user. It is used for the full-text search. |
||||
|
query |
integer |
Yes |
4.1.0 |
Number of segments to be returned (N for the top-N results). |
||||
|
query |
string |
No |
4.1.0 |
Scenario defines a particular application of recommendations. It can be, for example, “homepage”, “cart”, or “emailing”. You can set various settings to the scenario in the Admin UI. You can also see the performance of each scenario in the Admin UI separately, so you can check how well each application performs. The AI that optimizes models to get the best results may optimize different scenarios separately or even use different models in each of the scenarios. |
||||
|
query |
boolean |
No |
4.1.0 |
If the user does not exist in the database, returns a list of non-personalized recommendations and creates the user in the database. This allows, for example, rotations in the following recommendations for that user, as the user will be already known to the system. |
||||
|
query |
string |
No |
4.1.0 |
Boolean-returning ReQL expression which allows you to filter recommended segments based on the |
||||
|
query |
string |
No |
4.1.0 |
Number-returning ReQL expression which allows you to boost recommendation rate of some segments based on the |
||||
|
query |
string / object |
No |
4.1.0 |
Logic specifies the particular behavior of the recommendation models. You can pick tailored logic for your domain and use case. See this section for a list of available logics and other details. The difference between |
Responses¶
Response |
Description |
---|---|
|
successful operation |
Example of response:
{
"recommId": "7acdc8b5-f731-44f8-b522-72625044666f",
"recomms": [
{
"id": "cell phones"
},
{
"id": "cell phone accessories"
}
],
"numberNextRecommsCalls": 0
}
|
userId does not match ^[a-zA-Z0-9_-:@.]+$, count is not a positive integer, searchQuery is not provided, filter or booster is not valid ReQL expressions, filter expression does not return boolean, booster does not return double or integer. |
|
userId not found in the database and cascadeCreate is false. If there is no additional info in the JSON response, you probably have an error in your URL. |
Synonyms¶
Define that some words or phrases should be considered equal by the full-text search engine.
Add Search Synonym¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(AddSearchSynonym(term, synonym,
# optional parameters:
one_way=<boolean>
)
)
result = client.send(AddSearchSynonym.new(term, synonym, {
# optional parameters:
:one_way => <boolean>
})
)
SearchSynonym result = client.send(new AddSearchSynonym(String term, String synonym)
.setOneWay(boolean oneWay)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddSearchSynonym(term, synonym, {
// optional parameters:
'oneWay': <boolean>
}), callback);
<?php
$result = $client->send(new AddSearchSynonym($term, $synonym, [
// optional parameters:
'oneWay' => <boolean>
])
);
?>
SearchSynonym result = client.Send(AddSearchSynonym(string term, string synonym,
// optional parameters:
oneWay: <bool>
)
);
POST /{databaseId}/synonyms/items/
Body (application/json):
{
"term" => <string>,
"synonym" => <string>,
"oneWay" => <boolean>
}
Adds a new synonym for the Search items.
When the term
is used in the search query, the synonym
is also used for the full-text search.
Unless oneWay=true
, it works also in the opposite way (synonym
-> term
).
An example of a synonym can be science fiction
for the term sci-fi
.
Since version 3.2.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
3.2.0 |
ID of your database. |
||||
|
body |
string |
Yes |
3.2.0 |
A word to which the |
||||
|
body |
string |
Yes |
3.2.0 |
A word that should be considered equal to the |
||||
|
body |
boolean |
No |
3.2.0 |
If set to Default: |
Responses¶
Response |
Description |
---|---|
|
Successful operation. Returns data about the added synonym (including |
Example of response:
{
"id": "cc198c86-e015-bb74-b5f4-8f996fd26736",
"term": "sci-fi",
"synonym": "science fiction",
"oneWay": false
}
|
Missing a field, or a field has a wrong type. |
|
|
List Search Synonyms¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListSearchSynonyms(
# optional parameters:
count=<integer>,
offset=<integer>
)
)
result = client.send(ListSearchSynonyms.new({
# optional parameters:
:count => <integer>,
:offset => <integer>
})
)
ListSearchSynonymsResponse result = client.send(new ListSearchSynonyms()
.setCount(long count)
.setOffset(long offset)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListSearchSynonyms({
// optional parameters:
'count': <integer>,
'offset': <integer>
}), callback);
<?php
$result = $client->send(new ListSearchSynonyms([
// optional parameters:
'count' => <integer>,
'offset' => <integer>
])
);
?>
ListSearchSynonymsResponse result = client.Send(ListSearchSynonyms(
// optional parameters:
count: <long>,
offset: <long>
)
);
GET /{databaseId}/synonyms/items/?count=<integer>&offset=<integer>
Gives the list of synonyms defined in the database.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
query |
integer |
No |
|
The number of synonyms to be listed. |
||||
|
query |
integer |
No |
|
Specifies the number of synonyms to skip (ordered by |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
{
"synonyms": [
{
"id": "cc198c86-e015-bb74-b5f4-8f996fd26736",
"term": "sci-fi",
"synonym": "science fiction",
"oneWay": false
},
{
"id": "33bef0e5-f6ee-ac04-8b80-7ba8ece1fe63",
"term": "sitcom",
"synonym": "situation comedy",
"oneWay": false
}
]
}
Delete All Search Synonyms¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteAllSearchSynonyms())
client.send(DeleteAllSearchSynonyms.new())
client.send(new DeleteAllSearchSynonyms());
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteAllSearchSynonyms(), callback);
<?php
$client->send(new DeleteAllSearchSynonyms());
?>
client.Send(DeleteAllSearchSynonyms());
DELETE /{databaseId}/synonyms/items/
Deletes all synonyms defined in the database.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Delete Search Synonym¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteSearchSynonym(id))
client.send(DeleteSearchSynonym.new(id))
client.send(new DeleteSearchSynonym(String id));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteSearchSynonym(id), callback);
<?php
$client->send(new DeleteSearchSynonym($id));
?>
client.Send(DeleteSearchSynonym(string id));
DELETE /{databaseId}/synonyms/items/{id}
Deletes synonym of the given id
. This synonym is no longer taken into account in the Search items.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the synonym that should be deleted. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
Synonym with the given |
Series¶
Items in the catalog may be organized into series, expressing an explicit, known ordering of items, if there is any. Typical examples of series may be consecutive TV show episodes, book titles, etc.
Each item may be added to zero or more series, and a series may also be added into another series, resulting in a “meta-series”. This may be useful for modeling ordered seasons of a TV show that has the episodes in each season themselves ordered.
Series definition¶
Methods for managing series - creating, listing, and deleting them.
Add Series¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(AddSeries(series_id))
client.send(AddSeries.new(seriesId))
client.send(new AddSeries(String seriesId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddSeries(seriesId), callback);
<?php
$client->send(new AddSeries($series_id));
?>
client.Send(AddSeries(string seriesId));
PUT /{databaseId}/series/{seriesId}
Creates a new series in the database.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the series to be created. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
Series of the given |
Delete Series¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteSeries(series_id))
client.send(DeleteSeries.new(seriesId))
client.send(new DeleteSeries(String seriesId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteSeries(seriesId), callback);
<?php
$client->send(new DeleteSeries($series_id));
?>
client.Send(DeleteSeries(string seriesId));
DELETE /{databaseId}/series/{seriesId}
Deletes the series of the given seriesId
from the database.
Deleting a series will only delete assignment of items to it, not the items themselves!
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the series to be deleted. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
Series of the given |
List Series¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListSeries())
result = client.send(ListSeries.new())
Series[] result = client.send(new ListSeries());
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListSeries(), callback);
<?php
$result = $client->send(new ListSeries());
?>
IEnumerable<Series> result = client.Send(ListSeries());
GET /{databaseId}/series/list/
Gets the list of all the series currently present in the database.
API calls limit: 100 requests per minute. This limit can be increased for a database by the Recombee support.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
"series-1",
"series-2",
"series-3"
]
|
Invalid URL. |
Series items¶
Methods for adding items (or even series themselves) to series.
List Series Items¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListSeriesItems(series_id))
result = client.send(ListSeriesItems.new(seriesId))
SeriesItem[] result = client.send(new ListSeriesItems(String seriesId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListSeriesItems(seriesId), callback);
<?php
$result = $client->send(new ListSeriesItems($series_id));
?>
IEnumerable<SeriesItem> result = client.Send(ListSeriesItems(string seriesId));
GET /{databaseId}/series/{seriesId}/items/
Lists all the items present in the given series, sorted according to their time index values.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the series whose items are to be listed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
Example of response:
[
{
"itemType": "item",
"itemId": "item-x",
"time": 1
},
{
"itemType": "item",
"itemId": "item-y",
"time": 2
},
{
"itemType": "item",
"itemId": "item-z",
"time": 3
}
]
|
The |
|
Series of the given |
Insert to Series¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(InsertToSeries(series_id, item_type, item_id, time,
# optional parameters:
cascade_create=<boolean>
)
)
client.send(InsertToSeries.new(seriesId, itemType, itemId, time, {
# optional parameters:
:cascade_create => <boolean>
})
)
client.send(new InsertToSeries(String seriesId, String itemType, String itemId, double time)
.setCascadeCreate(boolean cascadeCreate)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.InsertToSeries(seriesId, itemType, itemId, time, {
// optional parameters:
'cascadeCreate': <boolean>
}), callback);
<?php
$client->send(new InsertToSeries($series_id, $item_type, $item_id, $time, [
// optional parameters:
'cascadeCreate' => <boolean>
])
);
?>
client.Send(InsertToSeries(string seriesId, string itemType, string itemId, double time,
// optional parameters:
cascadeCreate: <bool>
)
);
POST /{databaseId}/series/{seriesId}/items/
Body (application/json):
{
"itemType" => <string>,
"itemId" => <string>,
"time" => <number>,
"cascadeCreate" => <boolean>
}
Inserts an existing item/series into a series of the given seriesId at a position determined by time.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the series to be inserted into. |
||||
|
body |
string |
Yes |
|
|
||||
|
body |
string |
Yes |
|
ID of the item iff |
||||
|
body |
number |
Yes |
|
Time index used for sorting items in the series. According to time, items are sorted within series in ascending order. In the example of TV show episodes, the episode number is a natural choice to be passed as time. |
||||
|
body |
boolean |
No |
|
Indicates that any non-existing entity specified within the request should be created (as if corresponding PUT requests were invoked). This concerns both the |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
|
|
Series of the given |
|
Series item of the exact same ( |
Remove from Series¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(RemoveFromSeries(series_id, item_type, item_id, time))
client.send(RemoveFromSeries.new(seriesId, itemType, itemId, time))
client.send(new RemoveFromSeries(String seriesId, String itemType, String itemId, double time));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.RemoveFromSeries(seriesId, itemType, itemId, time), callback);
<?php
$client->send(new RemoveFromSeries($series_id, $item_type, $item_id, $time));
?>
client.Send(RemoveFromSeries(string seriesId, string itemType, string itemId, double time));
DELETE /{databaseId}/series/{seriesId}/items/?itemType=<string>&itemId=<string>&time=<number>
Removes an existing series item from the series.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
||||
|
path |
string |
Yes |
|
ID of the series from which a series item is to be removed. |
||||
|
query |
string |
Yes |
|
Type of the item to be removed. |
||||
|
query |
string |
Yes |
|
ID of the item iff |
||||
|
query |
number |
Yes |
|
Time index of the item to be removed. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |
|
The |
|
Series of the given |
Segmentations Definition¶
Segmentations allow you to group the Items into various segments: For example segment articles or products by categories, segment movies by genres, etc. The Segmentations can be used in recommendations (e.g. return the most relevant categories for a user).
See this section for more info.
Property Based Segmentation¶
Property-based Segmentation groups the Items by the value of a particular property. See this section for more info.
Create Property Based Segmentation¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(CreatePropertyBasedSegmentation(segmentation_id, source_type, property_name,
# optional parameters:
title=<string>,
description=<string>
)
)
client.send(CreatePropertyBasedSegmentation.new(segmentationId, sourceType, propertyName, {
# optional parameters:
:title => <string>,
:description => <string>
})
)
client.send(new CreatePropertyBasedSegmentation(String segmentationId, String sourceType, String propertyName)
.setTitle(String title)
.setDescription(String description)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.CreatePropertyBasedSegmentation(segmentationId, sourceType, propertyName, {
// optional parameters:
'title': <string>,
'description': <string>
}), callback);
<?php
$client->send(new CreatePropertyBasedSegmentation($segmentation_id, $source_type, $property_name, [
// optional parameters:
'title' => <string>,
'description' => <string>
])
);
?>
client.Send(CreatePropertyBasedSegmentation(string segmentationId, string sourceType, string propertyName,
// optional parameters:
title: <string>,
description: <string>
)
);
PUT /{databaseId}/segmentations/property-based/{segmentationId}
Body (application/json):
{
"sourceType" => <string>,
"propertyName" => <string>,
"title" => <string>,
"description" => <string>
}
Creates a Segmentation that splits the items into segments based on values of a particular item property.
A segment is created for each unique value of the property.
In case of set
properties, a segment is created for each value in the set. Item belongs to all these segments.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the newly created Segmentation |
||||
|
body |
string |
Yes |
4.1.0 |
What type of data should be segmented. Currently only |
||||
|
body |
string |
Yes |
4.1.0 |
Name of the property on which the Segmentation should be based |
||||
|
body |
string |
No |
4.1.0 |
Human-readable name that is shown in the Recombee Admin UI. |
||||
|
body |
string |
No |
4.1.0 |
Description that is shown in the Recombee Admin UI. |
Responses¶
Response |
Description |
---|---|
|
successful operation |
|
segmentationId does not match ^[a-zA-Z0-9_-:@.]+$, property is not of supported type ( |
|
Property does not exist. |
Update Property Based Segmentation¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(UpdatePropertyBasedSegmentation(segmentation_id,
# optional parameters:
property_name=<string>,
title=<string>,
description=<string>
)
)
client.send(UpdatePropertyBasedSegmentation.new(segmentationId, {
# optional parameters:
:property_name => <string>,
:title => <string>,
:description => <string>
})
)
client.send(new UpdatePropertyBasedSegmentation(String segmentationId)
.setPropertyName(String propertyName)
.setTitle(String title)
.setDescription(String description)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.UpdatePropertyBasedSegmentation(segmentationId, {
// optional parameters:
'propertyName': <string>,
'title': <string>,
'description': <string>
}), callback);
<?php
$client->send(new UpdatePropertyBasedSegmentation($segmentation_id, [
// optional parameters:
'propertyName' => <string>,
'title' => <string>,
'description' => <string>
])
);
?>
client.Send(UpdatePropertyBasedSegmentation(string segmentationId,
// optional parameters:
propertyName: <string>,
title: <string>,
description: <string>
)
);
POST /{databaseId}/segmentations/property-based/{segmentationId}
Body (application/json):
{
"propertyName" => <string>,
"title" => <string>,
"description" => <string>
}
Updates a Property Based Segmentation
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the updated Segmentation |
||||
|
body |
string |
No |
4.1.0 |
Name of the property on which the Segmentation should be based |
||||
|
body |
string |
No |
4.1.0 |
Human-readable name that is shown in the Recombee Admin UI. |
||||
|
body |
string |
No |
4.1.0 |
Description that is shown in the Recombee Admin UI. |
Responses¶
Response |
Description |
---|---|
|
successful operation |
|
segmentationId does not match ^[a-zA-Z0-9_-:@.]+$, property is not of supported type ( |
|
Property does not exist. Segmentation with given ID does not exist. |
Manual ReQL Segmentation¶
Segmentation whose Segments are defined by ReQL filters. See this section for more info.
Create Manual ReQL Segmentation¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(CreateManualReqlSegmentation(segmentation_id, source_type,
# optional parameters:
title=<string>,
description=<string>
)
)
client.send(CreateManualReqlSegmentation.new(segmentationId, sourceType, {
# optional parameters:
:title => <string>,
:description => <string>
})
)
client.send(new CreateManualReqlSegmentation(String segmentationId, String sourceType)
.setTitle(String title)
.setDescription(String description)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.CreateManualReqlSegmentation(segmentationId, sourceType, {
// optional parameters:
'title': <string>,
'description': <string>
}), callback);
<?php
$client->send(new CreateManualReqlSegmentation($segmentation_id, $source_type, [
// optional parameters:
'title' => <string>,
'description' => <string>
])
);
?>
client.Send(CreateManualReqlSegmentation(string segmentationId, string sourceType,
// optional parameters:
title: <string>,
description: <string>
)
);
PUT /{databaseId}/segmentations/manual-reql/{segmentationId}
Body (application/json):
{
"sourceType" => <string>,
"title" => <string>,
"description" => <string>
}
Segment the items using multiple ReQL filters.
Use the Add Manual ReQL Items Segment endpoint to create the individual segments.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the newly created Segmentation |
||||
|
body |
string |
Yes |
4.1.0 |
What type of data should be segmented. Currently only |
||||
|
body |
string |
No |
4.1.0 |
Human-readable name that is shown in the Recombee Admin UI. |
||||
|
body |
string |
No |
4.1.0 |
Description that is shown in the Recombee Admin UI. |
Responses¶
Response |
Description |
---|---|
|
successful operation |
|
segmentationId does not match ^[a-zA-Z0-9_-:@.]+$. |
Examples¶
Create a Manual ReQL Segmentation and set up its Segments¶
Each Segment is defined by a ReQL filter: Items passing the filter belong to the Segment.
Here we create two Segments in the homepage-rows
Segmentation:
made-in-us
contains items that were created in the US
short-laughs
contains comedies with runtime under 30 minutes
See this section for more info.
reqs = [
CreateManualReqlSegmentation("homepage-rows", "items"),
AddManualReqlSegment("homepage-rows", "made-in-us", "'country' == \"US\" "),
AddManualReqlSegment("homepage-rows", "short-laughs", "\"Comedy\" in 'genres' and 'runtime' < 30")
]
responses = client.send(Batch(reqs))
batch = Batch.new([
CreateManualReqlSegmentation.new('homepage-rows', 'items'),
AddManualReqlSegment.new('homepage-rows', 'made-in-us', "'country' == \"US\" "),
AddManualReqlSegment.new('homepage-rows', 'short-laughs', "\"Comedy\" in 'genres' and 'runtime' < 30")
])
response = client.send(batch)
Request[] reqs = new Request[] {
new CreateManualReqlSegmentation("homepage-rows", "items"),
new AddManualReqlSegment("homepage-rows", "made-in-us", "'country' == \"US\" "),
new AddManualReqlSegment("homepage-rows", "short-laughs", "\"Comedy\" in 'genres' and 'runtime' < 30")
};
BatchResponse[] responses = client.send(new Batch(requests));
const batch = new Batch([
new CreateManualReqlSegmentation('homepage-rows', 'items'),
new AddManualReqlSegment('homepage-rows', 'made-in-us', "'country' == \"US\" "),
new AddManualReqlSegment('homepage-rows', 'short-laughs', "\"Comedy\" in 'genres' and 'runtime' < 30")
]);
client.send(batch,
(err, resp) => {
console.log(err);
console.log(resp);
}
);
<?php
$reqs = [
new Reqs\CreateManualReqlSegmentation("homepage-rows", "items"),
new Reqs\AddManualReqlSegment("homepage-rows", "made-in-us", "'country' == \"US\" "),
new Reqs\AddManualReqlSegment("homepage-rows", "short-laughs", "\"Comedy\" in 'genres' and 'runtime' < 30")
];
$responses = $client->send(new Reqs\Batch($reqs));
?>
Request[] reqs = new Request[] {
new CreateManualReqlSegmentation("homepage-rows", "items"),
new AddManualReqlSegment("homepage-rows", "made-in-us", "'country' == \"US\" "),
new AddManualReqlSegment("homepage-rows", "short-laughs", "\"Comedy\" in 'genres' and 'runtime' < 30")
};
BatchResponse batchResponse = await client.SendAsync(new Batch(requests));
Update Manual ReQL Segmentation¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(UpdateManualReqlSegmentation(segmentation_id,
# optional parameters:
title=<string>,
description=<string>
)
)
client.send(UpdateManualReqlSegmentation.new(segmentationId, {
# optional parameters:
:title => <string>,
:description => <string>
})
)
client.send(new UpdateManualReqlSegmentation(String segmentationId)
.setTitle(String title)
.setDescription(String description)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.UpdateManualReqlSegmentation(segmentationId, {
// optional parameters:
'title': <string>,
'description': <string>
}), callback);
<?php
$client->send(new UpdateManualReqlSegmentation($segmentation_id, [
// optional parameters:
'title' => <string>,
'description' => <string>
])
);
?>
client.Send(UpdateManualReqlSegmentation(string segmentationId,
// optional parameters:
title: <string>,
description: <string>
)
);
POST /{databaseId}/segmentations/manual-reql/{segmentationId}
Body (application/json):
{
"title" => <string>,
"description" => <string>
}
Update an existing Segmentation.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the updated Segmentation |
||||
|
body |
string |
No |
4.1.0 |
Human-readable name that is shown in the Recombee Admin UI. |
||||
|
body |
string |
No |
4.1.0 |
Description that is shown in the Recombee Admin UI. |
Responses¶
Response |
Description |
---|---|
|
successful operation |
|
segmentationId does not match ^[a-zA-Z0-9_-:@.]+$. Given Segmentation is of different type. |
|
Segmentation with given ID does not exist. |
Add Manual ReQL Segment¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(AddManualReqlSegment(segmentation_id, segment_id, filter,
# optional parameters:
title=<string>
)
)
client.send(AddManualReqlSegment.new(segmentationId, segmentId, filter, {
# optional parameters:
:title => <string>
})
)
client.send(new AddManualReqlSegment(String segmentationId, String segmentId, String filter)
.setTitle(String title)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.AddManualReqlSegment(segmentationId, segmentId, filter, {
// optional parameters:
'title': <string>
}), callback);
<?php
$client->send(new AddManualReqlSegment($segmentation_id, $segment_id, $filter, [
// optional parameters:
'title' => <string>
])
);
?>
client.Send(AddManualReqlSegment(string segmentationId, string segmentId, string filter,
// optional parameters:
title: <string>
)
);
PUT /{databaseId}/segmentations/manual-reql/{segmentationId}/segments/{segmentId}
Body (application/json):
{
"filter" => <string>,
"title" => <string>
}
Adds a new Segment into a Manual ReQL Segmentation.
The new Segment is defined by a ReQL filter that returns true
for an item in case that this item belongs to the segment.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the Segmentation to which the new Segment should be added |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the newly created Segment |
||||
|
body |
string |
Yes |
4.1.0 |
ReQL filter that returns |
||||
|
body |
string |
No |
4.1.0 |
Human-readable name of the Segment that is shown in the Recombee Admin UI. |
Responses¶
Response |
Description |
---|---|
|
successful operation |
|
segmentationId or segmentId does not match ^[a-zA-Z0-9_-:@.]+$. Segmentation is of wrong type. |
|
Segmentation with given ID does not exist. |
Update Manual ReQL Segment¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(UpdateManualReqlSegment(segmentation_id, segment_id, filter,
# optional parameters:
title=<string>
)
)
client.send(UpdateManualReqlSegment.new(segmentationId, segmentId, filter, {
# optional parameters:
:title => <string>
})
)
client.send(new UpdateManualReqlSegment(String segmentationId, String segmentId, String filter)
.setTitle(String title)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.UpdateManualReqlSegment(segmentationId, segmentId, filter, {
// optional parameters:
'title': <string>
}), callback);
<?php
$client->send(new UpdateManualReqlSegment($segmentation_id, $segment_id, $filter, [
// optional parameters:
'title' => <string>
])
);
?>
client.Send(UpdateManualReqlSegment(string segmentationId, string segmentId, string filter,
// optional parameters:
title: <string>
)
);
POST /{databaseId}/segmentations/manual-reql/{segmentationId}/segments/{segmentId}
Body (application/json):
{
"filter" => <string>,
"title" => <string>
}
Update definition of the Segment.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the Segmentation to which the updated Segment belongs |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the Segment that will be updated |
||||
|
body |
string |
Yes |
4.1.0 |
ReQL filter that returns |
||||
|
body |
string |
No |
4.1.0 |
Human-readable name of the Segment that is shown in the Recombee Admin UI. |
Responses¶
Response |
Description |
---|---|
|
successful operation |
|
segmentationId or segmentId does not match ^[a-zA-Z0-9_-:@.]+$. Segmentation is of wrong type. |
|
Segmentation with given ID does not exist. Segment with given ID does not exist in the Segmentation. |
Delete Manual ReQL Segment¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteManualReqlSegment(segmentation_id, segment_id))
client.send(DeleteManualReqlSegment.new(segmentationId, segmentId))
client.send(new DeleteManualReqlSegment(String segmentationId, String segmentId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteManualReqlSegment(segmentationId, segmentId), callback);
<?php
$client->send(new DeleteManualReqlSegment($segmentation_id, $segment_id));
?>
client.Send(DeleteManualReqlSegment(string segmentationId, string segmentId));
DELETE /{databaseId}/segmentations/manual-reql/{segmentationId}/segments/{segmentId}
Delete a Segment from a Manual ReQL Segmentation.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the Segmentation from which the Segment should be deleted |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the Segment that should be deleted |
Responses¶
Response |
Description |
---|---|
|
successful operation |
|
segmentationId or segmentId does not match ^[a-zA-Z0-9_-:@.]+$. Segmentation is of wrong type. |
|
Segmentation with given ID does not exist. Segment with given ID does not exist in the Segmentation. |
Auto ReQL Segmentation¶
Auto ReQL Segmentation is specified by a ReQL expression that for each Item returns a set of Segments to which the Item belongs. See this section for more info.
Create Auto ReQL Segmentation¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(CreateAutoReqlSegmentation(segmentation_id, source_type, expression,
# optional parameters:
title=<string>,
description=<string>
)
)
client.send(CreateAutoReqlSegmentation.new(segmentationId, sourceType, expression, {
# optional parameters:
:title => <string>,
:description => <string>
})
)
client.send(new CreateAutoReqlSegmentation(String segmentationId, String sourceType, String expression)
.setTitle(String title)
.setDescription(String description)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.CreateAutoReqlSegmentation(segmentationId, sourceType, expression, {
// optional parameters:
'title': <string>,
'description': <string>
}), callback);
<?php
$client->send(new CreateAutoReqlSegmentation($segmentation_id, $source_type, $expression, [
// optional parameters:
'title' => <string>,
'description' => <string>
])
);
?>
client.Send(CreateAutoReqlSegmentation(string segmentationId, string sourceType, string expression,
// optional parameters:
title: <string>,
description: <string>
)
);
PUT /{databaseId}/segmentations/auto-reql/{segmentationId}
Body (application/json):
{
"sourceType" => <string>,
"expression" => <string>,
"title" => <string>,
"description" => <string>
}
Segment the items using a ReQL expression.
For each item, the expression should return a set that contains IDs of segments to which the item belongs to.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the newly created Segmentation |
||||
|
body |
string |
Yes |
4.1.0 |
What type of data should be segmented. Currently only |
||||
|
body |
string |
Yes |
4.1.0 |
ReQL expression that returns for each item a set with IDs of segments to which the item belongs |
||||
|
body |
string |
No |
4.1.0 |
Human-readable name that is shown in the Recombee Admin UI. |
||||
|
body |
string |
No |
4.1.0 |
Description that is shown in the Recombee Admin UI. |
Responses¶
Response |
Description |
---|---|
|
successful operation |
|
segmentationId does not match ^[a-zA-Z0-9_-:@.]+$, ReQL expression is invalid. |
Examples¶
Create an Auto ReQL Segmentation¶
Create a Segmentation, whose Segments combine the country of origin and the genre.
See this section for more info.
req = CreateAutoReqlSegmentation(
"country-and-genre",
"items",
"map(lambda 'genre': 'genre' + \"-\" + 'country', 'genres')",
)
response = client.send(req)
req = CreateAutoReqlSegmentation.new(
"country-and-genre",
"items",
"map(lambda 'genre': 'genre' + \"-\" + 'country', 'genres')",
)
response = client.send(req)
CreateAutoReqlSegmentation req = new CreateAutoReqlSegmentation(
"country-and-genre",
"items",
"map(lambda 'genre': 'genre' + \"-\" + 'country', 'genres')",
);
client.send(req);
const req = new CreateAutoReqlSegmentation(
"country-and-genre",
"items",
"map(lambda 'genre': 'genre' + \"-\" + 'country', 'genres')",
);
const response = client.send(req);
<?php
$req = new Reqs\CreateAutoReqlSegmentation(
"country-and-genre",
"items",
"map(lambda 'genre': 'genre' + \"-\" + 'country', 'genres')",
);
$response = $client->send($req);
?>
var req = new CreateAutoReqlSegmentation(
"country-and-genre",
"items",
"map(lambda 'genre': 'genre' + \"-\" + 'country', 'genres')",
);
client.Send(req);
Update Auto ReQL Segmentation¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(UpdateAutoReqlSegmentation(segmentation_id,
# optional parameters:
expression=<string>,
title=<string>,
description=<string>
)
)
client.send(UpdateAutoReqlSegmentation.new(segmentationId, {
# optional parameters:
:expression => <string>,
:title => <string>,
:description => <string>
})
)
client.send(new UpdateAutoReqlSegmentation(String segmentationId)
.setExpression(String expression)
.setTitle(String title)
.setDescription(String description)
);
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.UpdateAutoReqlSegmentation(segmentationId, {
// optional parameters:
'expression': <string>,
'title': <string>,
'description': <string>
}), callback);
<?php
$client->send(new UpdateAutoReqlSegmentation($segmentation_id, [
// optional parameters:
'expression' => <string>,
'title' => <string>,
'description' => <string>
])
);
?>
client.Send(UpdateAutoReqlSegmentation(string segmentationId,
// optional parameters:
expression: <string>,
title: <string>,
description: <string>
)
);
POST /{databaseId}/segmentations/auto-reql/{segmentationId}
Body (application/json):
{
"expression" => <string>,
"title" => <string>,
"description" => <string>
}
Update an existing Segmentation.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the updated Segmentation |
||||
|
body |
string |
No |
4.1.0 |
ReQL expression that returns for each item a set with IDs of segments to which the item belongs |
||||
|
body |
string |
No |
4.1.0 |
Human-readable name that is shown in the Recombee Admin UI. |
||||
|
body |
string |
No |
4.1.0 |
Description that is shown in the Recombee Admin UI. |
Responses¶
Response |
Description |
---|---|
|
successful operation |
|
segmentationId does not match ^[a-zA-Z0-9_-:@.]+$. ReQL expression is invalid. Given Segmentation is of different type. |
|
Segmentation with given ID does not exist. |
General¶
List Segmentations¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(ListSegmentations(source_type))
result = client.send(ListSegmentations.new(sourceType))
ListSegmentationsResponse result = client.send(new ListSegmentations(String sourceType));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ListSegmentations(sourceType), callback);
<?php
$result = $client->send(new ListSegmentations($source_type));
?>
ListSegmentationsResponse result = client.Send(ListSegmentations(string sourceType));
GET /{databaseId}/segmentations/list/?sourceType=<string>
Return all existing items Segmentations.
API calls limit: 60 requests per minute. This limit can be increased for a database by the Recombee support.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
query |
string |
Yes |
4.1.0 |
List Segmentations based on a particular type of data. Currently only |
Responses¶
Response |
Description |
---|---|
|
Example of response:
{
"segmentations": [
{
"segmentationId": "category",
"sourceType": "items",
"segmentationType": "property",
"title": "Category Segmentation",
"description": "Groups items by their category"
},
{
"segmentationId": "homepage-rows",
"sourceType": "items",
"segmentationType": "manualReQL",
"title": "Homepage Rows",
"description": "Defines individual content rows that can be shown on the homepage"
}
]
}
Get Segmentation¶
See doc for client: Python Ruby Java Node.js PHP .NET
result = client.send(GetSegmentation(segmentation_id))
result = client.send(GetSegmentation.new(segmentationId))
Segmentation result = client.send(new GetSegmentation(String segmentationId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.GetSegmentation(segmentationId), callback);
<?php
$result = $client->send(new GetSegmentation($segmentation_id));
?>
Segmentation result = client.Send(GetSegmentation(string segmentationId));
GET /{databaseId}/segmentations/list/{segmentationId}
Get existing Segmentation.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the Segmentation that should be returned |
Responses¶
Response |
Description |
---|---|
|
Example of response:
{
"segmentationId": "category",
"sourceType": "items",
"segmentationType": "property",
"title": "Category Segmentation",
"description": "Groups items by their category"
}
|
Segmentation with given ID does not exist. |
Delete Segmentation¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(DeleteSegmentation(segmentation_id))
client.send(DeleteSegmentation.new(segmentationId))
client.send(new DeleteSegmentation(String segmentationId));
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.DeleteSegmentation(segmentationId), callback);
<?php
$client->send(new DeleteSegmentation($segmentation_id));
?>
client.Send(DeleteSegmentation(string segmentationId));
DELETE /{databaseId}/segmentations/{segmentationId}
Delete existing Segmentation.
Since version 4.1.0
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
4.1.0 |
ID of your database. |
||||
|
path |
string |
Yes |
4.1.0 |
ID of the Segmentation that should be deleted |
Responses¶
Response |
Description |
---|---|
|
successful operation |
|
Segmentation with given ID does not exist. |
Miscellaneous¶
Reset Database¶
See doc for client: Python Ruby Java Node.js PHP .NET
client.send(ResetDatabase())
client.send(ResetDatabase.new())
client.send(new ResetDatabase());
var recombee = require('recombee-api-client');
var rqs = recombee.requests;
client.send(new rqs.ResetDatabase(), callback);
<?php
$client->send(new ResetDatabase());
?>
client.Send(ResetDatabase());
DELETE /{databaseId}/
Completely erases all your data, including items, item properties, series, user database, purchases, ratings, detail views, and bookmarks. Make sure the request is never executed in the production environment! Resetting your database is irreversible.
Parameters¶
Parameter |
Located in |
Type |
Required |
Since version |
---|---|---|---|---|
|
path |
string |
Yes |
|
ID of your database. |
Responses¶
Response |
Description |
---|---|
|
Successful operation. |