Favorites
Bulk-create favorites
Create multiple favorites in a single request. Each entry must include exactly one of `group_id`, `view_id`, or `contact_id`. Returns `{ data: { favorites: [...] } }` with status 201. **Requires `Idem
POST /v2/favorites/batch
Request body
Content-Type: application/json
favorites
array<object> required
favorites[].group_id
string (uuid)
favorites[].view_id
string (uuid)
favorites[].contact_id
string (uuid)
favorites[].ranking
integer
Example
{
"favorites": [
{
"group_id": "00000000-0000-0000-0000-000000000000",
"view_id": "00000000-0000-0000-0000-000000000000"
}
]
}
Responses
201 — Created
Content-Type: application/json
data
object required
data.favorites
array<object> required
data.favorites[].id
string (uuid) required
data.favorites[].user_id
string
data.favorites[].group_id
string (uuid) | null
data.favorites[].view_id
string (uuid) | null
data.favorites[].contact_id
string (uuid) | null
data.favorites[].ranking
integer | null
data.favorites[].created_at
string (date-time) required
data.favorites[].updated_at
string (date-time) required
data.favorites[].groups
object | null
data.favorites[].views
object | null
data.favorites[].contacts
object | null
data.pagination
object
data.pagination.nextCursor
string | null
data.pagination.count
integer
Example
{
"data": {
"favorites": [
{
"id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-08-21T15:31:00.974Z",
"updated_at": "2026-08-21T15:31:00.974Z"
}
]
}
}
400
No response body.
401
No response body.
403
No response body.
404
No response body.
409
No response body.
429
No response body.
500
No response body.
Code samples
curl https://api.prod.getdex.com/v2/favorites/batch \
--request POST \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"favorites": [
{
"group_id": "00000000-0000-0000-0000-000000000000",
"view_id": "00000000-0000-0000-0000-000000000000"
}
]
}'
fetch('https://api.prod.getdex.com/v2/favorites/batch', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
favorites: [
{
group_id: '00000000-0000-0000-0000-000000000000',
view_id: '00000000-0000-0000-0000-000000000000'
}
]
})
})
requests.post(
"https://api.prod.getdex.com/v2/favorites/batch",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"favorites": [
{
"group_id": "00000000-0000-0000-0000-000000000000",
"view_id": "00000000-0000-0000-0000-000000000000"
}
]
}
)
Count favorites
Return the count of the authenticated user's favorites. Cheap path for a sidebar badge / quota check without loading the full list.
Bulk-update favorites
Apply per-row partial updates (typically `ranking` reorderings) to multiple favorites in a single request. Uses `Promise.allSettled` semantics: a 200 response can carry per-row failures in `data.faile

