The Member Reports API allows members to report other members for inappropriate behavior, such as spam, hate speech, and harassment. When a member submits a report about someone, the site owner gets notified about it by email. The site owner then can choose what to do with the report, such as dismiss it or block the relevant member. Reported members are listed in the site's dashboard.
With the Member Reports API, you can:
The following table shows field support for filters and sorting for the Member Report object:
Fields | Supported Filters | Sortable |
---|---|---|
id | $eq , $ne , $in , nin , $exists , $hasSome , $startsWith | Sortable |
reportedMemberId | $eq , $ne , $in , nin , $exists , $hasSome , $startsWith | Sortable |
reportingMemberId | $eq , $ne , $in , nin , $exists , $hasSome , $startsWith | Sortable |
reason | $eq , $ne , $in , nin , $exists , $hasSome , $startsWith | Sortable |
createdDate | $eq , $ne , $in , nin , $exists , $hasSome , $lt , $lte , $gt , $gte | Sortable |
This article shares some possible use cases your app could support, as well as a sample flow that could support each use case. This can be a helpful jumping off point as you plan your app's implementation.
You may want to notify members when they are reported for spam. For example, if a member repeatedly posts promotional links in a discussion forum and is reported for spam, sending a notification ensures transparency and provides the reported member an opportunity to appeal or correct their behavior.
To notify reported members:
reason.category
field and check for the SPAM
value.reportedMemberId
field's value.id
field. Retrieve and save the member.loginEmail
field's value.You might want to prevent abuse of the reporting system to maintain fairness and avoid overburdening site owners. For example, a member could exploit the system by submitting false or excessive reports to target others unfairly. By implementing safeguards, you can discourage misuse and ensure the reporting system is used appropriately.
To prevent abuse of the system:
reportingMemberId
field's value.reportingMemberId
field, and track the number of reports submitted by the member within a specific time frame, such as 5 reports per week.Report ID.
ID of the reported member.
ID of the member who created the report.
Reason for reporting a member.
Date and time the report was created.
{
"memberReport": {
"id": "dd7cfd02-1837-4fb8-bc6f-86316f0984a9",
"reportedMemberId": "e411fe13-9794-42b6-ad62-72c9917f1bac",
"reportingMemberId": "50353fbc-b265-4f03-888f-a53aa272758d",
"reason": {
"category": "OTHER",
"description": "I think this user's profile info is inappropriate."
},
"createdDate": "2021-10-26T17:22:10.299Z"
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Creates a report for the reported member.
Details of a member to report.
Member report.
curl -X POST \
https://www.wixapis.com/members/v1/member-reports \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>' \
-d '{
"memberReport": {
"reportedMemberId": "e411fe13-9794-42b6-ad62-72c9917f1bac",
"reason": {
"category": "OTHER",
"description": "I think this user's profile info is inappropriate."
}
}
}'
{
"memberReport": {
"id": "dd7cfd02-1837-4fb8-bc6f-86316f0984a9",
"reportedMemberId": "e411fe13-9794-42b6-ad62-72c9917f1bac",
"reportingMemberId": "50353fbc-b265-4f03-888f-a53aa272758d",
"reason": {
"category": "OTHER",
"description": "I think this user's profile info is inappropriate."
},
"createdDate": "2021-10-26T17:22:10.299Z"
}
}
There are 2 errors with this status code:
See the entire list and learn more about Wix errors.
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Retrieves a list of member reports, given the provided paging, filtering, and sorting.
Query Member Reports runs with these defaults, which you can override:
createdDate
is sorted in ASC
orderpaging.limit
is 100
paging.offset
is 0
For field support for filters and sorting, see Supported Filters and Sorting. To learn about working with Query endpoints, see API Query Language, Sorting and Paging, and Field Projection.
You can only call this method when authenticated as a Wix app or Wix user identity.
Query options. See API Query Language for more details.
Retrieved member reports.
Metadata for the paginated results.
Retrieve member reports by the reported member ID
curl -X POST \
https://www.wixapis.com/members/v1/member-reports/query \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>' \
-d '{
"query": {
"filter": {
"reportedMemberId": "e62e3011-55cf-4de3-a497-e097b52d86b7"
}
}
}'
{
"memberReports": [
{
"id": "387b935e-7e95-4b3f-bf8b-c985919382a1",
"reportedMemberId": "e62e3011-55cf-4de3-a497-e097b52d86b7",
"reportingMemberId": "df77483e-6930-4b0f-996a-1dd3f95b85fe",
"reason": {
"category": "SPAM"
},
"createdDate": "2021-12-21T13:08:52.985Z"
},
{
"id": "fa1cbffd-fb7d-4e06-9284-c311bbaea8a2",
"reportedMemberId": "e62e3011-55cf-4de3-a497-e097b52d86b7",
"reportingMemberId": "df77483e-6930-4b0f-996a-1dd3f95b85fe",
"reason": {
"category": "SPAM",
"description": "I think this user's profile info is inappropriate."
},
"createdDate": "2021-12-21T13:08:27.116Z"
}
],
"pagingMetadata": {
"count": 2,
"total": 2,
"cursors": {}
}
}
This method has been replaced with Query Member Report Overviews, and will be removed on January 31, 2025.
Retrieves a list of reported members.
You can only call this method when authenticated as a Wix app or Wix user identity.
Retrieved reported members.
Metadata for the paginated results.
curl -X GET \
https://www.wixapis.com/members/v1/member-reports/members \
-H 'Authorization: <AUTH>'
{
"reportedMembers": [
{
"reportedMemberId": "e62e3011-55cf-4de3-a497-e097b52d86b7",
"reportCount": "2",
"reviewed": true
},
{
"reportedMemberId": "50353fbc-b265-4f03-888f-a53aa272758d",
"reportCount": "1",
"reviewed": false
}
],
"pagingMetadata": {
"count": 2,
"total": 2,
"cursors": {}
}
}
This method has been replaced with Query Member Report Overviews, and will be removed on January 31, 2025.
Retrieves a list of reported members, given the provided paging, filtering, and sorting.
Query Reported Members runs with these defaults, which you can override:
createdDate
is sorted in ASC
orderpaging.limit
is 100
paging.offset
is 0
For field support for filters and sorting, see Supported Filters and Sorting. To learn about working with Query endpoints, see API Query Language, Sorting and Paging, and Field Projection.
You can only call this method when authenticated as a Wix app or Wix user identity.
Query options. See API Query Language for more details.
Retrieved reported members.
Metadata for the paginated results.
Retrieve reported members by the reported member ID
curl -X POST \
https://www.wixapis.com/members/v1/member-reports/members/query \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>' \
-d '{
"query": {
"filter": {
"reportedMemberId": "e62e3011-55cf-4de3-a497-e097b52d86b7"
}
}
}'
{
"reportedMembers": [
{
"reportedMemberId": "e62e3011-55cf-4de3-a497-e097b52d86b7",
"reportCount": "8",
"reviewed": false
}
],
"pagingMetadata": {
"count": 1,
"total": 1,
"cursors": {}
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Deletes all reports of a member.
You can only call this method when authenticated as a Wix app or Wix user identity.
ID of the member whose reports to be deleted.
curl -X DELETE \
https://www.wixapis.com/members/v1/member-reports/members/e62e3011-55cf-4de3-a497-e097b52d86b7 \
-H 'Authorization: <AUTH>'
{}
There is 1 error with this status code:
See the entire list and learn more about Wix errors.
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Triggered when a member is reported.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.members.v1.member_report
.
Event name. Expected created
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.members.v1.member_report_created",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"id": "87c0d894-4ed1-4c75-b167-27b7622558d2",
"entityFqdn": "wix.members.v1.member_report",
"slug": "created",
"entityId": "89f3da66-abcb-4b0f-bb1d-68ce0faaaa12",
"createdEvent": {
"entityAsJson": {
"id": "dd7cfd02-1837-4fb8-bc6f-86316f0984a9",
"reportedMemberId": "e411fe13-9794-42b6-ad62-72c9917f1bac",
"reportingMemberId": "50353fbc-b265-4f03-888f-a53aa272758d",
"reason": {
"category": "OTHER",
"description": "I think this user's profile info is inappropriate."
},
"createdDate": "2021-10-26T17:22:10.299Z"
}
},
"eventTime": "2021-01-27T11:23:43.804694Z",
"triggeredByAnonymizeRequest": false
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Triggered when a report is deleted.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.members.v1.member_report
.
Event name. Expected deleted
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.members.v1.member_report_deleted",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"id": "87c0d894-4ed1-4c75-b167-27b7622558d2",
"entityFqdn": "wix.members.v1.member_report",
"slug": "deleted",
"entityId": "89f3da66-abcb-4b0f-bb1d-68ce0faaaa12",
"deletedEvent": {},
"eventTime": "2021-01-27T11:23:43.804694Z",
"triggeredByAnonymizeRequest": false
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.members.v1.member_report
.
Event name. Expected reported_member_created
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.members.v1.member_report_reported_member_created",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.members.v1.member_report
.
Event name. Expected reported_member_deleted
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.members.v1.member_report_reported_member_deleted",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}