Skip to content

Categories

The Categories API allows for the management and retrieval of user categories and the users within them. Categories can be created, updated, deleted, and queried. Users can be added to or removed from specific categories.

GET /api/v1/categories/:id/users

Description: Retrieves a list of users (actors) belonging to a specific category, optionally filtered by search text.

Authentication Required: No

Path Parameters

Parameter Type Description
id number The ID of the category.

Query Parameters

{
searchText?: string; // Optional: Filter users by name or username
limit?: number; // Optional: Pagination limit (default 50, max 100)
offset?: number; // Optional: Pagination offset (default 0)
}
Parameter Type Required Default Description
searchText string No - Filter users by displayName or username.
limit number No 50 Maximum number of users to return (max 100).
offset number No 0 Number of users to skip for pagination.

Success Response

Code: 200 OK

{
"ok": true,
"data": {
"values": [
{
// Based on observed response for category 1 + ActivityActor fields
"id": number, // User ID
"profileId": number | null,
"displayName": "string | null", // User display name
"username": "string | null", // User username (e.g., Twitter handle)
"avatarUrl": "string | null", // URL of the user's avatar
"description": "string | null", // User description/bio
"score": number | null,
"status": "string | null", // User status (e.g., "ACTIVE", "INACTIVE")
"userkeys": ["string"], // Array of userkeys associated with the user
"addedAt": "string", // ISO 8601 timestamp when user was added to category
// Note: primaryAddress, scoreXpMultiplier may also be present but were null/absent in test
}
// ... more user objects
],
"total": number,
"limit": number,
"offset": number
}
}

Error Responses

Code: 400 Bad Request (Example: Invalid pagination or ID)

{
"ok": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid input parameters"
// details may contain Zod error info
}
}

Code: 404 Not Found (Potentially, if category ID does not exist - needs testing confirmation)

{
"ok": false,
"error": {
"code": "NOT_FOUND",
"message": "Category not found" // Example message
}
}

Request

Terminal window
# Get the first 10 users containing "dev" in category 5
http GET https://api.ethos.network/api/v1/categories/5/users limit==10 searchText==dev

Response

# Example response for category ID 1
{
"ok": true,
"data": {
"values": [
{
"id": 983154,
"profileId": null,
"displayName": "Spearbit",
"username": "SpearbitDAO",
"avatarUrl": "https://pbs.twimg.com/profile_images/1884611103335788544/kYEAPIka.jpg",
"description": "Spearbit has now moved to @spearbit",
"score": 1200,
"status": "INACTIVE",
"userkeys": [
"service:x.com:1629597939944378376"
],
"addedAt": "2025-03-28T22:20:11.165Z"
}
],
"total": 1,
"limit": 50,
"offset": 0
}
}
  • Retrieves users belonging to a specific category ID.
  • The structure of the returned user object includes basic user info, status, userkeys, and when they were added to the category.