A small tool to view real-world ActivityPub objects as JSON! Enter a URL
or username from Mastodon or a similar service below, and we'll send a
request with
the right
Accept
header
to the server to view the underlying object.
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"ostatus": "http://ostatus.org#",
"atomUri": "ostatus:atomUri",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"conversation": "ostatus:conversation",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#",
"votersCount": "toot:votersCount",
"blurhash": "toot:blurhash",
"focalPoint": {
"@container": "@list",
"@id": "toot:focalPoint"
}
}
],
"id": "https://mastodon.social/users/tenderlove/statuses/110102614294227545",
"type": "Note",
"summary": null,
"inReplyTo": null,
"published": "2023-03-28T19:42:46Z",
"url": "https://mastodon.social/@tenderlove/110102614294227545",
"attributedTo": "https://mastodon.social/users/tenderlove",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://mastodon.social/users/tenderlove/followers"
],
"sensitive": false,
"atomUri": "https://mastodon.social/users/tenderlove/statuses/110102614294227545",
"inReplyToAtomUri": null,
"conversation": "tag:mastodon.social,2023-03-28:objectId=422843302:objectType=Conversation",
"content": "<p>Today I learned a new and exciting way to monkey patch code! Is it still considered monkey patching if you change the definition at compile time?</p>",
"contentMap": {
"en": "<p>Today I learned a new and exciting way to monkey patch code! Is it still considered monkey patching if you change the definition at compile time?</p>"
},
"attachment": [
{
"type": "Document",
"mediaType": "image/png",
"url": "https://files.mastodon.social/media_attachments/files/110/102/604/231/387/337/original/e7c731900cd5c07c.png",
"name": "Terminal that shows two code examples in Ruby. The first says:\n\n```\ndef foo; \"foo\"; end\n\nFOO = RubyVM::InstructionSequence.of(method(:foo))\n\nclass RubyVM::InstructionSequence\n # convert all methods named \"bar\" to \"foo\"\n def self.translate iseq\n iseq.label == \"bar\" ? FOO : iseq\n end\nend\n\nrequire \"t\"\n\nputs bar\n```\nThe second example says:\n\n```\ndef bar; \"bar\"; end\n```\n\nRunning the program outputs \"foo\"",
"blurhash": "UWQ9_@Rj9Fof%Mj[juj[00j[t6ayt7j[axax",
"focalPoint": [
0,
0
],
"width": 1722,
"height": 1204
}
],
"tag": [],
"replies": {
"id": "https://mastodon.social/users/tenderlove/statuses/110102614294227545/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://mastodon.social/users/tenderlove/statuses/110102614294227545/replies?min_id=110102616239386248&page=true",
"partOf": "https://mastodon.social/users/tenderlove/statuses/110102614294227545/replies",
"items": [
"https://mastodon.social/users/tenderlove/statuses/110102616239386248"
]
}
},
"likes": {
"id": "https://mastodon.social/users/tenderlove/statuses/110102614294227545/likes",
"type": "Collection",
"totalItems": 36
},
"shares": {
"id": "https://mastodon.social/users/tenderlove/statuses/110102614294227545/shares",
"type": "Collection",
"totalItems": 11
}
}