Package-level declarations

Types

Link copied to clipboard
@Serializable
data class CityInfo(val province: String, val city: String, val count: Int)

A city with its province and user count.

Link copied to clipboard
@Serializable
data class PopularData(val users: List<PopularUser>)

Popular users data containing a list of trending users.

Link copied to clipboard
@Serializable
data class PopularLocationsData(val popularProvinces: List<ProvinceInfo>, val popularCities: List<CityInfo>, val totalUsers: Int? = null)

Popular locations data structured by provinces and cities.

Link copied to clipboard
@Serializable
data class PopularLocationsResponse(val success: Boolean, val data: PopularLocationsData, val requestId: String)
Link copied to clipboard
@Serializable
data class PopularResponse(val success: Boolean, val data: PopularData, val requestId: String)
Link copied to clipboard
@Serializable
data class PopularUser(val id: Int, val username: String, val nickname: String? = null, val avatarUrl: String? = null, val fursuitSpecies: String? = null, val fursuitMaker: String? = null, val showcasePortrait: String? = null, val introduction: String? = null, val viewCount: Int? = null, val isVerified: Boolean? = null, val likeCount: Int? = null, val createdAt: String? = null, val destination: String? = null, val destinationExpiresAt: String? = null, val popularityScore: Int? = null)

A popular user with full profile information from VDS.

Link copied to clipboard
@Serializable
data class ProvinceInfo(val province: String, val count: Int)

A province with its user count.

Link copied to clipboard
@Serializable
data class RandomDebugInfo(val isPersonalized: Boolean? = null, val cacheHitCount: Int? = null, val responseMs: Int? = null)

Debug information returned by the random fursuit endpoint.

Link copied to clipboard
@Serializable
data class RandomFursuit(val id: Int, val username: String, val nickname: String? = null, val avatarUrl: String? = null, val fursuitSpecies: String? = null, val fursuitMaker: String? = null, val location: String? = null, val destination: String? = null, val introduction: String? = null, val viewCount: Int? = null, val isVerified: Boolean? = null)

A randomly recommended fursuit user.

Link copied to clipboard
@Serializable
data class RandomFursuitResponse(val success: Boolean, val fursuit: RandomFursuit? = null, val fursuits: List<RandomFursuit>? = null, val count: Int? = null, val requestedCount: Int? = null, val debugInfo: RandomDebugInfo? = null, val requestId: String)

Response for random fursuit recommendation supporting single and multiple results.

Link copied to clipboard
@JvmBlocking
@JvmAsync
class SearchApi

Search and discovery API for popular recommendations, random fursuits, keyword search, and species queries.

Link copied to clipboard
@Serializable
data class SearchData(val users: List<SearchUser>, val searchType: String? = null, val searchKeywords: List<String>? = null, val pagination: SearchPagination? = null, val hasMore: Boolean = false, val total: Int? = null, val nextCursor: String? = null)

Search results with pagination and metadata from VDS.

Link copied to clipboard
@Serializable
data class SearchPagination(val page: Int? = null, val limit: Int? = null, val total: Int? = null, val totalPages: Int? = null, val nextCursor: String? = null)

Pagination metadata for search results.

Link copied to clipboard
@Serializable
data class SearchResponse(val success: Boolean, val data: SearchData, val requestId: String)
Link copied to clipboard
@Serializable
data class SearchSuggestionsData(val suggestions: List<String>)

Search suggestions data containing a list of suggestion strings.

Link copied to clipboard
@Serializable
data class SearchSuggestionsResponse(val success: Boolean, val data: SearchSuggestionsData, val requestId: String)
Link copied to clipboard
@Serializable
data class SearchUser(val id: Int? = null, val username: String? = null, val nickname: String? = null, val avatarUrl: String? = null, val showcasePortrait: String? = null, val fursuitSpecies: String? = null, val fursuitMaker: String? = null, val location: String? = null, val destinations: List<String>? = null, val destination: String? = null, val destinationExpiresAt: String? = null, val introduction: String? = null, val viewCount: Int? = null, val isVerified: Boolean? = null, val createdAt: String? = null)

A user returned in search results.

Link copied to clipboard
@Serializable
data class SpeciesInfo(val species: String, val count: Int)

A species entry with its user count.

Link copied to clipboard
@Serializable
data class SpeciesListData(val species: List<SpeciesInfo>, val total: Int)

Species list data with statistics.

Link copied to clipboard
@Serializable
data class SpeciesListResponse(val success: Boolean, val data: SpeciesListData, val requestId: String)
Link copied to clipboard
@Serializable
data class SpeciesSearchData(val species: String, val users: List<SpeciesSearchUser>, val pagination: SearchPagination? = null, val hasMore: Boolean = false, val total: Int? = null, val nextCursor: String? = null)

Species search results with pagination from VDS.

Link copied to clipboard
@Serializable
data class SpeciesSearchResponse(val success: Boolean, val data: SpeciesSearchData, val requestId: String)
Link copied to clipboard
@Serializable
data class SpeciesSearchUser(val id: Int? = null, val username: String? = null, val nickname: String? = null, val avatarUrl: String? = null, val showcasePortrait: String? = null, val fursuitSpecies: String? = null, val fursuitMaker: String? = null, val introduction: String? = null, val viewCount: Int? = null, val isVerified: Boolean? = null, val createdAt: String? = null)

A user returned in species search results.