Skip to content

Mentions

Mentions are discussed in this section of ActivityStreams.

The big difference on if mentions are parsed are currently a result of if the value in href can be resolved by the application being tested.

In the support table parsed means that the activity could be parsed, but the mention was discarded. A ❌ in the support table means that the entire message has failed to parse.

Examples

Example 1

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/8Spdd0t7Kzs",
  "published": "2025-09-14T08:54:25Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/PGUTe9eYNjw",
    "published": "2025-09-14T08:54:25Z",
    "content": "basic mention; mention as list of dictionaries",
    "tag": [
      {
        "type": "Mention",
        "name": "@actor@test_server",
        "href": "http://pasture-one-actor/actor"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 102,
  "user_id": 2,
  "community_id": 1,
  "title": "basic mention; mention as list of dictionaries",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:54:25.754982Z",
  "ap_id": "http://pasture-one-actor/object/PGUTe9eYNjw",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "basic mention; mention as list of dictionaries"
}

Example 2

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/MUgOfcwuZW0",
  "published": "2025-09-14T08:54:26Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/rJDPk8k8zSI",
    "published": "2025-09-14T08:54:26Z",
    "content": "text @actor@pasture-one-actor; mention as dictionary",
    "tag": [
      {
        "type": "Mention",
        "name": "@actor@test_server",
        "href": "http://pasture-one-actor/actor"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 103,
  "user_id": 2,
  "community_id": 1,
  "title": "text @actor@pasture-one-actor; mention as dictionary",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:54:26.484314Z",
  "ap_id": "http://pasture-one-actor/object/rJDPk8k8zSI",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text @actor@pasture-one-actor; mention as dictionary"
}

Example 3

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/xN1YYq_Xql0",
  "published": "2025-09-14T08:54:27Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/dN314J1VeiM",
    "published": "2025-09-14T08:54:27Z",
    "content": "unrelated text",
    "tag": [
      {
        "type": "Mention",
        "name": "something something",
        "href": "http://pasture-one-actor/actor"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 104,
  "user_id": 2,
  "community_id": 1,
  "title": "[Microblog] unrelated text",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:54:27.237281Z",
  "ap_id": "http://pasture-one-actor/object/dN314J1VeiM",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "unrelated text"
}

Example 4

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/pvb9I8aQZGQ",
  "published": "2025-09-14T08:54:27Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/L9k-SdA8JGw",
    "published": "2025-09-14T08:54:27Z",
    "content": "Missing Name @actor@pasture-one-actor",
    "tag": [
      {
        "type": "Mention",
        "href": "http://pasture-one-actor/actor"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 105,
  "user_id": 2,
  "community_id": 1,
  "title": "Missing Name @actor@pasture-one-actor",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:54:27.992341Z",
  "ap_id": "http://pasture-one-actor/object/L9k-SdA8JGw",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "Missing Name @actor@pasture-one-actor"
}

Example 5

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/T0BSiPmVnHk",
  "published": "2025-09-14T08:54:28Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/9hn80Hq46yE",
    "published": "2025-09-14T08:54:28Z",
    "content": "realworld url",
    "tag": [
      {
        "type": "Mention",
        "name": "@the_milkman@mastodon.social",
        "href": "https://mastodon.social/users/the_milkman"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 106,
  "user_id": 2,
  "community_id": 1,
  "title": "[Microblog] realworld url",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:54:28.764645Z",
  "ap_id": "http://pasture-one-actor/object/9hn80Hq46yE",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "realworld url"
}

Example 6

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/DYqfD7k8pRg",
  "published": "2025-09-14T08:54:29Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/WvDq_suo8Ho",
    "published": "2025-09-14T08:54:29Z",
    "content": "unresolvable url -- https",
    "tag": [
      {
        "type": "Mention",
        "name": "@dummy@example",
        "href": "https://dummy.example"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 107,
  "user_id": 2,
  "community_id": 1,
  "title": "unresolvable url -- https",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:54:29.529116Z",
  "ap_id": "http://pasture-one-actor/object/WvDq_suo8Ho",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "unresolvable url -- https"
}

Example 7

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/qtRDC0XZDgM",
  "published": "2025-09-14T08:54:30Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/-O1Ij7uCRbQ",
    "published": "2025-09-14T08:54:30Z",
    "content": "texunresolvable url -- http",
    "tag": [
      {
        "type": "Mention",
        "name": "@test_actor@test_server",
        "href": "http://test_actor"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 108,
  "user_id": 2,
  "community_id": 1,
  "title": "texunresolvable url -- http",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:54:30.369897Z",
  "ap_id": "http://pasture-one-actor/object/-O1Ij7uCRbQ",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "texunresolvable url -- http"
}

Example 8

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/ONws8iNgVfc",
  "published": "2025-09-14T08:54:30Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/tdg4LOr8Hu4",
    "published": "2025-09-14T08:54:30Z",
    "content": "name is 'yay'",
    "tag": [
      {
        "type": "as:Mention",
        "name": "yay",
        "href": "http://pasture-one-actor/actor"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 109,
  "user_id": 2,
  "community_id": 1,
  "title": "[Microblog] name is 'yay'",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:54:31.104913Z",
  "ap_id": "http://pasture-one-actor/object/tdg4LOr8Hu4",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "name is 'yay'"
}

Example 9

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/h81Jz8lU6WY",
  "published": "2025-09-14T08:54:31Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/wF9WubqwBb4",
    "published": "2025-09-14T08:54:31Z",
    "content": "@actor text",
    "tag": [
      {
        "name": "@actor",
        "href": "http://pasture-one-actor/actor"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}

no result

Example 10

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/5eZKk0aAt-E",
  "published": "2025-09-14T08:54:44Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/x1KHKO8g8VA",
    "published": "2025-09-14T08:54:44Z",
    "content": "duplicate mention, see https://codeberg.org/funfedidev/fediverse-pasture-inputs/issues/75",
    "tag": [
      {
        "type": "Mention",
        "name": "@actor@test_server",
        "href": "http://pasture-one-actor/actor"
      },
      {
        "type": "Mention",
        "name": "@actor@test_server",
        "href": "http://pasture-one-actor/actor"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 110,
  "user_id": 2,
  "community_id": 1,
  "title": "duplicate mention, see https://codeberg",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:54:44.506927Z",
  "ap_id": "http://pasture-one-actor/object/x1KHKO8g8VA",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "duplicate mention, see https://codeberg.org/funfedidev/fediverse-pasture-inputs/issues/75"
}