About Member Reports

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:

Before you begin

Use cases

Terminology

  • Member: An individual who has registered or been granted access to a website or platform, often with an account, to access features or content that are not available to non-members. Depending on the site, a site member may have various privileges or roles.
  • Report: A formal submission or notification made by a visitor or member to inform the site owner about inappropriate or problematic behavior exhibited by another member. Reports are used to flag actions that may violate community guidelines or site policies.
Did this help?

Member Reports: Supported Filters and Sorting

The following table shows field support for filters and sorting for the Member Report object:

FieldsSupported FiltersSortable
id$eq, $ne, $in, nin, $exists, $hasSome, $startsWithSortable
reportedMemberId$eq, $ne, $in, nin, $exists, $hasSome, $startsWithSortable
reportingMemberId$eq, $ne, $in, nin, $exists, $hasSome, $startsWithSortable
reason$eq, $ne, $in, nin, $exists, $hasSome, $startsWithSortable
createdDate$eq, $ne, $in, nin, $exists, $hasSome, $lt, $lte, $gt, $gteSortable
Did this help?

Member Reports: Sample Use Cases and Flows

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.

Notify members who are reported for spam

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:

  1. In your system, create an email template to be sent whenever a member is reported for spam.
  2. Listen for the Member Report Created event. When the event is triggered:
    • Extract the reason.category field and check for the SPAM value.
    • Save the reportedMemberId field's value.
  3. Call Get Member passing the saved reported member ID value to the id field. Retrieve and save the member.loginEmail field's value.
  4. Send the notification to the saved email address.

Prevent abuse of the reporting system

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:

  1. Listen for the Member Report Created event. When the event is triggered extract the reportingMemberId field's value.
  2. Query Member Reports by the reportingMemberId field, and track the number of reports submitted by the member within a specific time frame, such as 5 reports per week.
  3. If the member exceeds the reporting threshold or demonstrates unusual reporting patterns (for example, targeting the same individual repeatedly without valid reasons), issue a warning or temporarily block that member.
  4. Optionally, notify the member about the restriction and explain the reason to promote understanding and discourage future misuse.
Did this help?

Member Report Object


Properties
idstringRead-onlyformat GUID

Report ID.


reportedMemberIdstringformat GUID

ID of the reported member.


reportingMemberIdstringRead-only

ID of the member who created the report.


reasonReason

Reason for reporting a member.


createdDatestringRead-onlyformat date-time

Date and time the report was created.

MemberReport
JSON
{ "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" } }
Did this help?

POST

Report Member


Developer Preview

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.

Endpoint
POST
https://www.wixapis.com/members/v1/member-reports

Body Params
memberReportMemberReportRequired

Details of a member to report.

Response Object
memberReportMemberReport

Member report.

Report MEMBERS
Request
cURL
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." } } }'
Response
JSON
{ "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" } }
Errors
400Invalid Argument

There are 2 errors with this status code:

See the entire list and learn more about Wix errors.

Event TriggersThis method triggers the following events:
Did this help?

POST

Query Member Reports


Developer Preview

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 order
  • paging.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.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Members
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/members/v1/member-reports/query

Body Params
queryQuery

Query options. See API Query Language for more details.

Response Object
memberReportsArray <MemberReport>

Retrieved member reports.


pagingMetadataPagingMetadata

Metadata for the paginated results.

Retrieve member reports by the reported member ID

Request
cURL
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" } } }'
Response
JSON
{ "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": {} } }
Did this help?

GET

List Reported Members


Deprecated

This method has been replaced with Query Member Report Overviews, and will be removed on January 31, 2025.

Retrieves a list of reported members.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Members
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/members/v1/member-reports/members

Request
This endpoint does not take any parameters.
Response Object
reportedMembersArray <ReportedMember>

Retrieved reported members.


pagingMetadataPagingMetadata

Metadata for the paginated results.

List Member Reports
Request
cURL
curl -X GET \ https://www.wixapis.com/members/v1/member-reports/members \ -H 'Authorization: <AUTH>'
Response
JSON
{ "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": {} } }
Did this help?

POST

Query Reported Members


Deprecated

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 order
  • paging.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.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Members
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/members/v1/member-reports/members/query

Body Params
queryQuery

Query options. See API Query Language for more details.

Response Object
reportedMembersArray <ReportedMember>

Retrieved reported members.


pagingMetadataPagingMetadata

Metadata for the paginated results.

Retrieve reported members by the reported member ID

Request
cURL
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" } } }'
Response
JSON
{ "reportedMembers": [ { "reportedMemberId": "e62e3011-55cf-4de3-a497-e097b52d86b7", "reportCount": "8", "reviewed": false } ], "pagingMetadata": { "count": 1, "total": 1, "cursors": {} } }
Did this help?

DELETE

Delete Member Reports


Developer Preview

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.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Members
Learn more about app permissions.
Endpoint
DELETE
https://www.wixapis.com/members/v1/member-reports/members/{memberId}

Path Params
memberIdstringRequired

ID of the member whose reports to be deleted.

Response Object
Returns an empty object.
Delete Member Reports
Request
cURL
curl -X DELETE \ https://www.wixapis.com/members/v1/member-reports/members/e62e3011-55cf-4de3-a497-e097b52d86b7 \ -H 'Authorization: <AUTH>'
Response
JSON
{}
Errors
500Internal

There is 1 error with this status code:

See the entire list and learn more about Wix errors.

Event TriggersThis method triggers the following events:
Did this help?

Member Report Created


Developer Preview

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.

Permissions
Manage Members
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.members.v1.member_report.


slugstring

Event name. Expected created.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


createdEventCreatedEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "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 } } }

MemberReportCreated
JSON
{ "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 }
Did this help?

Member Report Deleted


Developer Preview

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.

Permissions
Manage Members
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.members.v1.member_report.


slugstring

Event name. Expected deleted.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


deletedEventstruct

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "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 } } }

MemberReportDeleted
JSON
{ "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 }
Did this help?

Report Reported Member Created


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Permissions
Manage Members
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.members.v1.member_report.


slugstring

Event name. Expected reported_member_created.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


actionEventActionEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "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 } } }
Did this help?

Report Reported Member Deleted


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Permissions
Manage Members
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.members.v1.member_report.


slugstring

Event name. Expected reported_member_deleted.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


actionEventActionEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "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 } } }
Did this help?