Create report

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://api-reference.lassomoderation.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Lasso Moderation API MCP server": {
    "url": "https://api-reference.lassomoderation.com/mcp"
  }
}

Close
POST /user-reports

This endpoint should be called when a user on your product reports another user or piece of content.

Default rate limit: 100 requests per minute.

application/json

Body

Make a report about a user or piece of content.

  • report object Required
    Hide report attributes Show report attributes object
    • reported_by_id string

      The id of the user who makes the report. Specify exactly one of reported_by_id and reported_by, not both.

      Maximum length is 100.

    • reported_by object

      The user who makes the report. Specify exactly one of reported_by_id and reported_by, not both. These fields are only applied when the reporter does not exist in Lasso yet — an existing user is never updated through this endpoint (use the user API for that).

      Hide reported_by attributes Show reported_by attributes object
      • id string Required

        Maximum length is 100.

      • name string

        Maximum length is 100.

      • email string

        Maximum length is 100.

      • email_domain string

        The email domain of the reporter. So "user@example.com" would be "example.com"

        Maximum length is 100.

      • phone_number string

        Maximum length is 100.

      • country_code string

        Two letter code according to the https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 standard

        Minimum length is 2, maximum length is 2.

      • ip_address string

        Maximum length is 100.

      • profile_image_url string(uri)

        Maximum length is 1400.

      • metadata object | null

        Extra free-form data about the object as key-value pairs. Values can be strings, numbers, booleans, null, or an object with one more level of key-value pairs.

        • The metadata may be at most 4KB (4096 bytes) when serialized as JSON.
        • Keys are not allowed to contain /.
    • reported_by_type string

      You can specify if the report was made by a normal user, admin, moderator, test user, trusted user or state actor. The "state_actor" type requires the DSA compliance feature.

      Values are normal, admin, moderator, trusted, testing, or state_actor.

    • reported_by_entity string

      The name of the entity on whose behalf the report is made, e.g. a trusted flagger organisation (optional)

      Minimum length is 1, maximum length is 255.

    • user_id string

      The id of the user who is reported. Specify either a user_id or a content_id, not both.

      Maximum length is 100.

    • content_id string

      The id of the content that is being reported. Specify either a user_id or a content_id, not both.

      Maximum length is 100.

    • policy_id string Required

      The id of the policy that the user specifies

    • extra_info string

Responses

  • 200 application/json

    OK

    Hide response attribute Show response attribute object
    • success boolean Required
  • 400 application/json

    Returned when the request is invalid, e.g. the policy is not found, or both a user_id and a content_id were provided

    Hide response attributes Show response attributes object
    • success boolean Required
    • error string | object Required

      A message describing the error. For validation errors this is an object with an error message per field.

  • 401 application/json

    The API token is missing or invalid

    Hide response attributes Show response attributes object
    • success boolean Required
    • error string | object Required

      A message describing the error. For validation errors this is an object with an error message per field.

  • 404 application/json

    Returned when the reported content is not found

    Hide response attributes Show response attributes object
    • success boolean Required
    • error string | object Required

      A message describing the error. For validation errors this is an object with an error message per field.

  • 429 application/json

    The rate limit has been exceeded, check the X-RateLimit headers for limits

    Hide headers attributes Show headers attributes
    • X-RateLimit-Limit

      The rate limit interval in milliseconds

    • X-RateLimit-Remaining

      The number of requests remaining in the current interval

    • X-RateLimit-Reset

      The number of milliseconds until requests are allowed again

    Hide response attribute Show response attribute object
    • error string Required
POST /user-reports
curl \
 --request POST 'https://api.lassomoderation.com/api/v1/user-reports' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "report": {
    "reported_by": {
      "id": "device-8f3a2c",
      "name": "PixelPirate",
      "email": "reporter@example.com",
      "country_code": "NL",
      "ip_address": "203.0.113.42",
      "metadata": {
        "app_version": "4.2.1"
      }
    },
    "reported_by_type": "normal",
    "user_id": "some_user_id",
    "content_id": "some_content_id",
    "policy_id": "other",
    "extra_info": "Some explanation from the user why it is reported"
  }
}'
Request example
{
  "report": {
    "reported_by": {
      "id": "device-8f3a2c",
      "name": "PixelPirate",
      "email": "reporter@example.com",
      "country_code": "NL",
      "ip_address": "203.0.113.42",
      "metadata": {
        "app_version": "4.2.1"
      }
    },
    "reported_by_type": "normal",
    "user_id": "some_user_id",
    "content_id": "some_content_id",
    "policy_id": "other",
    "extra_info": "Some explanation from the user why it is reported"
  }
}
Response examples (200)
{
  "success": true
}
Response examples (400)
{
  "success": false,
  "error": "Policy not found"
}
Response examples (401)
{
  "success": false,
  "error": "Invalid API key"
}
Response examples (404)
{
  "success": false,
  "error": "Reported Content not found"
}
Response examples (429)
{
  "error": "Too many requests, check headers for limits"
}