Reviews
Overview
The Reviews API allows you to query and analyze reviews in the Ethos network. Reviews represent evaluations made by users about other users, services, or addresses. The API provides endpoints for retrieving reviews, getting review statistics, and counting reviews based on various filters.
Endpoints
Query Reviews
Description: Retrieves reviews based on various filters such as IDs, subjects, authors, attestations, and more.
Authentication Required: No
Parameters
Request Body
ids
array of numbers
No
Array of review IDs
subject
array of strings
No
Array of userkeys for review subjects
author
array of numbers
No
Array of profile IDs of review authors
attestation
array of objects
No
Array of attestation objects
attestation[].service
string
Yes
Service name (e.g., "x.com")
attestation[].account
or attestation[].username
string
Yes
Account ID or username on the service
archived
boolean
No
Whether to include archived reviews
score
array of strings
No
Review scores to filter by ("positive", "neutral", "negative")
orderBy
object
No
Sorting options
orderBy.createdAt
or orderBy.updatedAt
string
No
Sort by creation/update date: "asc" or "desc"
pagination
object
Yes
Pagination parameters
pagination.limit
number
Yes
Number of results to return (maximum 100)
pagination.offset
number
Yes
Offset for pagination
Responses
Success Response
Code: 200 OK
ok
boolean
Success status
data
object
Response data container
data.values
array
Array of review objects
data.values[].id
number
Review ID
data.values[].author
string
Ethereum address of the author
data.values[].subject
string
Ethereum address of the subject (if applicable)
data.values[].attestationDetails
object
Attestation details
data.values[].attestationDetails.service
string
Service name (if applicable)
data.values[].attestationDetails.account
string
Account ID on the service (if applicable)
data.values[].comment
string
Review message/comment
data.values[].score
string
Review score ("positive", "neutral", "negative")
data.values[].createdAt
number
Unix timestamp of when the review was created
data.values[].archived
boolean
Whether the review is archived
data.values[].metadata
string
JSON string containing additional metadata
data.values[].events
array
Blockchain events associated with the review
data.values[].events[].id
number
Event ID
data.values[].events[].txHash
string
Transaction hash
data.values[].events[].blockNumber
number
Block number
data.values[].events[].blockIndex
number
Index within the block
data.values[].events[].createdAt
number
Unix timestamp of when the event was created
data.values[].events[].updatedAt
number
Unix timestamp of when the event was updated
data.values[].events[].contract
string
Contract name
data.values[].events[].processed
boolean
Whether the event has been processed
data.limit
number
Number of results returned
data.offset
number
Current pagination offset
data.total
number
Total number of results matching the query
Example
Request
Response
Notes
By default, results are sorted by creation date in descending order (newest first).
The API enforces a maximum of 100 reviews that can be requested at once.
When searching by
subject
with aprofileId
, the API finds reviews for all addresses and attestations linked to that profile.The
score
field in the response is returned as a string ("positive", "neutral", "negative") rather than a number (2, 1, 0).The
metadata
field typically contains a JSON string with a "description" field that provides additional context for the review.Reviews can be filtered by score type using the
score
parameter, which accepts an array of score types.If no filters are provided, the endpoint will return the most recent reviews across all subjects.
Get Bulk Review Statistics
Get Review Statistics for Multiple Targets
Description: Retrieves review statistics for multiple targets (users, addresses, or service accounts) in a single request.
Authentication Required: No
Parameters
Request Body
userkeys
array of strings
Yes
Array of userkeys to get statistics for (max 500)
timeRange
object
No
Optional time range for filtering reviews
timeRange.startDate
string
No
Start date in ISO format
timeRange.endDate
string
No
End date in ISO format
Responses
Success Response
Code: 200 OK
ok
boolean
Success status
data
object
Map of userkeys to their statistics
data[userkey]
object
Statistics for a specific userkey (same structure as single stats)
Example
Request
Notes
If a userkey is not found, it will be omitted from the results rather than causing an error.
The API enforces a maximum of 500 userkeys per request.
When using the
timeRange
parameter, reviews outside of the specified time range are excluded from the statistics.If there are no reviews for a specific userkey in the specified time range, the
averageReviewForUser
andpercentile
fields may be null andpositiveReviewPercentage
will be 0.The data structure for each userkey follows the same format as the single stats endpoint.
Count Reviews
Description: Counts the number of reviews matching the specified filters.
Authentication Required: No
Parameters
Request Body
The parameters are the same as for the "Query Reviews" endpoint, except pagination and orderBy are not used.
Responses
Success Response
Code: 200 OK
ok
boolean
Success status
data
object
Response data
data.count
number
Number of reviews matching the filters
Example
Request
Response
Notes
This endpoint is useful for efficiently getting count information without retrieving the actual review data.
The count reflects the total number of reviews that match the specified filters.
When using the
score
filter, reviews are counted based on their score value: "positive", "neutral", or "negative".
Last updated