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"
},
"Hashtag": "as:Hashtag"
}
],
"id": "https://mastodon.sdf.org/users/HunterZ/statuses/109015151248383109",
"type": "Note",
"summary": null,
"inReplyTo": "https://mastodon.sdf.org/users/HunterZ/statuses/109012554165456928",
"published": "2022-09-17T18:26:37Z",
"url": "https://mastodon.sdf.org/@HunterZ/109015151248383109",
"attributedTo": "https://mastodon.sdf.org/users/HunterZ",
"to": [
"https://mastodon.sdf.org/users/HunterZ/followers"
],
"cc": [
"https://www.w3.org/ns/activitystreams#Public"
],
"sensitive": false,
"atomUri": "https://mastodon.sdf.org/users/HunterZ/statuses/109015151248383109",
"inReplyToAtomUri": "https://mastodon.sdf.org/users/HunterZ/statuses/109012554165456928",
"conversation": "tag:mastodon.sdf.org,2022-08-10:objectId=54504093:objectType=Conversation",
"content": "<p>I think I finally cracked it: A "chieftain" NPC's script was using an "AttackedBy" check to turn the rebels hostile, and apparently this state persists somewhere. I can't find the state, so I created an override script to keep him friendly, and voila:</p><p><a href=\"https://mastodon.sdf.org/tags/xp\" class=\"mention hashtag\" rel=\"tag\">#<span>xp</span></a></p>",
"contentMap": {
"en": "<p>I think I finally cracked it: A "chieftain" NPC's script was using an "AttackedBy" check to turn the rebels hostile, and apparently this state persists somewhere. I can't find the state, so I created an override script to keep him friendly, and voila:</p><p><a href=\"https://mastodon.sdf.org/tags/xp\" class=\"mention hashtag\" rel=\"tag\">#<span>xp</span></a></p>"
},
"attachment": [
{
"type": "Document",
"mediaType": "image/png",
"url": "https://mastodon.sdf.org/system/media_attachments/files/109/015/150/989/461/136/original/49b6be0a9b82c562.png",
"name": "The original script:\nSAHREBEL.BCS\n\nIF\n\t!Dead(\"sahkng01\") // King Ixilthetocal\n\tGlobal(\"PrinceArrives\",\"AR2300\",1) // Underwater City\nTHEN\n\tRESPONSE #100\n\t\tAttackReevaluate(\"sahkng01\",15) // King Ixilthetocal\nEND\n\nIF\n\tGlobalGT(\"LeavingSahuagin\",\"AR2300\",0) // Underwater City\nTHEN\n\tRESPONSE #100\n\t\tDestroySelf()\nEND\n\nIF\n\tAttackedBy([GOODCUTOFF],DEFAULT)\n\tAllegiance(Myself,NEUTRAL)\nTHEN\n\tRESPONSE #100\n\t\tSetGlobal(\"RebelsHostile\",\"AR2300\",1) // Underwater City\n\t\tEnemy()\nEND\n\nIF\n\tGlobal(\"RebelsHostile\",\"AR2300\",0) // Underwater City\n\tAllegiance(Myself,ENEMY)\nTHEN\n\tRESPONSE #100\n\t\tSetGlobal(\"RebelsHostile\",\"AR2300\",1) // Underwater City\nEND\n\nIF\n\tGlobal(\"RebelsHostile\",\"AR2300\",1) // Underwater City\n\tAllegiance(Myself,NEUTRAL)\nTHEN\n\tRESPONSE #100\n\t\tEnemy()\nEND\n",
"blurhash": "U16Hy7~qWBM{j[ayWBs:WBayoMt7xuWBWBof",
"width": 630,
"height": 793
},
{
"type": "Document",
"mediaType": "image/png",
"url": "https://mastodon.sdf.org/system/media_attachments/files/109/015/151/099/933/080/original/33dc6c53b166e232.png",
"name": "My modded version, which slams everything to the happy path lol:\n\nIF\n\t!Dead(\"sahkng01\") // King Ixilthetocal\n\tGlobal(\"PrinceArrives\",\"AR2300\",1) // Underwater City\nTHEN\n\tRESPONSE #100\n\t\tAttackReevaluate(\"sahkng01\",15) // King Ixilthetocal\nEND\n\nIF\n\tGlobalGT(\"LeavingSahuagin\",\"AR2300\",0) // Underwater City\nTHEN\n\tRESPONSE #100\n\t\tDestroySelf()\nEND\n\nIF\n\tAttackedBy([GOODCUTOFF],DEFAULT)\n\tAllegiance(Myself,NEUTRAL)\nTHEN\n\tRESPONSE #100\n\t\tSetGlobal(\"RebelsHostile\",\"AR2300\",0) // Underwater City\n\t\tAlly()\nEND\n\nIF\n\tGlobal(\"RebelsHostile\",\"AR2300\",0) // Underwater City\n\tAllegiance(Myself,ENEMY)\nTHEN\n\tRESPONSE #100\n\t\tSetGlobal(\"RebelsHostile\",\"AR2300\",0) // Underwater City\n\t\tAlly()\nEND\n\nIF\n\tGlobal(\"RebelsHostile\",\"AR2300\",1) // Underwater City\n\tAllegiance(Myself,NEUTRAL)\nTHEN\n\tRESPONSE #100\n\t\tSetGlobal(\"RebelsHostile\",\"AR2300\",0) // Underwater City\n\t\tAlly()\nEND\n\n",
"blurhash": "U8SidK4XESS}IoR+oMj[E1WXoMa{E1WCofbH",
"width": 516,
"height": 730
},
{
"type": "Document",
"mediaType": "image/jpeg",
"url": "https://mastodon.sdf.org/system/media_attachments/files/109/015/151/225/233/254/original/3058830660445216.jpeg",
"name": "The party is successfully brought before the rebel mer-shark prince, who engages us in dialogue.",
"blurhash": "UD9QgURlM{Rj~qWBRkWB_3WBj[of?caxoea#",
"width": 962,
"height": 567
}
],
"tag": [
{
"type": "Hashtag",
"href": "https://mastodon.sdf.org/tags/xp",
"name": "#xp"
}
],
"replies": {
"id": "https://mastodon.sdf.org/users/HunterZ/statuses/109015151248383109/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://mastodon.sdf.org/users/HunterZ/statuses/109015151248383109/replies?min_id=109015660196716596&page=true",
"partOf": "https://mastodon.sdf.org/users/HunterZ/statuses/109015151248383109/replies",
"items": [
"https://mastodon.sdf.org/users/HunterZ/statuses/109015660196716596"
]
}
}
}