Report Publication

Learn how to report a publication for a specific reason.


The Lens API enables any authenticated user to report a publication for a specific reason. Refer to the examples below for a list of all available reasons.

You must be authenticated with a Profile to report a publication. See Profile Login for more information.

The PublicationReportReason enum in the React SDK provides a list of all possible reasons for reporting a publication:

enum PublicationReportReason {  // Illegal  ANIMAL_ABUSE = 'ANIMAL_ABUSE',  HARASSMENT = 'HARASSMENT',  VIOLENCE = 'VIOLENCE',  SELF_HARM = 'SELF_HARM',  DIRECT_THREAT = 'DIRECT_THREAT',  HATE_SPEECH = 'HATE_SPEECH',
  // Sensitive content  NUDITY = 'NUDITY',  OFFENSIVE = 'OFFENSIVE',
  // Fraud  SCAM = 'SCAM',  UNAUTHORIZED_SALE = 'UNAUTHORIZED_SALE',  IMPERSONATION = 'IMPERSONATION',
  // Spam  MISLEADING = 'MISLEADING',  MISUSE_HASHTAGS = 'MISUSE_HASHTAGS',  UNRELATED = 'UNRELATED',  REPETITIVE = 'REPETITIVE',  FAKE_ENGAGEMENT = 'FAKE_ENGAGEMENT',  MANIPULATION_ALGO = 'MANIPULATION_ALGO',  SOMETHING_ELSE = 'SOMETHING_ELSE',}

You can use the useReportPublication hook to report a publication.

Available in @lens-protocol/react-web and @lens-protocol/react-native

import {  PublicationReportReason,  publicationId,  useReportPublication,} from '@lens-protocol/react-web';
const { execute: report, loading } = useReportPublication();
const handleSubmit = async () => {  const result = await report({    publicationId: publicationId('0x014e-0x0a'),    reason: PublicationReportReason.FAKE_ENGAGEMENT,    additionalComments: 'Human readable comments, if any.',  });
  if (result.isSuccess()) {    alert('Publication reported!');  }};
<button onClick={handleSubmit} disabled={loading}>  Report</button>

You can find the full example in the Lens SDK GitHub repository.

That's it—you've successfully reported a publication.