Skip to content

Follow

The Follow API allows users to follow hosts. Followers receive broadcast messages from hosts and appear in the host’s follower list. All follow endpoints require authentication.


Follow a host. The authenticated user starts following the user specified by :id.

Authentication: Bearer token required.

POST /v1/users/01JN2X4K8M3F7QPZRVWT6YBHCE/follow
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...
HTTP/1.1 201 Created
{
"follower_id": "01JN2XF5G6H7I8J9K0L1M2N3O4",
"followed_id": "01JN2X4K8M3F7QPZRVWT6YBHCE",
"created_at": "2026-03-15T10:00:00Z"
}
CodeStatusDescription
conflict409Already following this user
validation_error400Cannot follow yourself
not_found404Target user does not exist

Unfollow a user. The authenticated user stops following the user specified by :id.

Authentication: Bearer token required.

DELETE /v1/users/01JN2X4K8M3F7QPZRVWT6YBHCE/follow
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...
HTTP/1.1 204 No Content
CodeStatusDescription
not_found404Not following this user

Check whether the authenticated user is following the user specified by :id.

Authentication: Bearer token required.

GET /v1/users/01JN2X4K8M3F7QPZRVWT6YBHCE/follow-status
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...
{
"is_following": true,
"followed_at": "2026-03-15T10:00:00Z"
}

List the followers of a user. Paginated.

Authentication: Bearer token required.

GET /v1/users/01JN2X4K8M3F7QPZRVWT6YBHCE/followers?page=1&per_page=20
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...
{
"success": true,
"data": [
{
"id": "01JN2XF5G6H7I8J9K0L1M2N3O4",
"display_name": "Alex Johnson",
"avatar_url": "https://cdn.vidivo.app/avatars/01JN2XF5.jpg",
"followed_at": "2026-03-15T10:00:00Z"
}
],
"pagination": {
"page": 1,
"per_page": 20,
"total": 42,
"total_pages": 3
}
}

List the hosts that the authenticated user is following.

Authentication: Bearer token required.

GET /v1/users/me/following?page=1&per_page=20
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...
{
"success": true,
"data": [
{
"id": "01JN2X4K8M3F7QPZRVWT6YBHCE",
"display_name": "Jane Smith",
"username": "janecoach",
"avatar_url": "https://cdn.vidivo.app/avatars/01JN2X4K.jpg",
"is_available": true,
"followed_at": "2026-03-15T10:00:00Z"
}
],
"pagination": {
"page": 1,
"per_page": 20,
"total": 3,
"total_pages": 1
}
}