Publish Activity Works¶
given: "Alice" created an actor on "abel" called "Alice"¶
send.Alice.request.create_actor
{
"base_url": "http://abel",
"preferred_username": "Alice",
"profile": {},
"automatically_accept_followers": null,
"name": null
}
receive.Alice.response.create_actor
{
"attachment": null,
"published": "2025-12-19T09:49:41.781812",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
}
],
"publicKey": {
"id": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA#legacy-key-1",
"owner": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAveg0M6rFhMRgXo9kZMa+\nlPlBXHr79yzD0NCHQEjs1JSyD7KLjjmr+s/nVQ23Uri4gL1f22ruR1eABJYPhvTV\nxu29Pk1RAxo7Bp/GLy8Pnj8YVmDRPPVbiYuBFmrctRAMqZw3fAzPTfgreqGBZlvu\nAH91XMueK7E4KGmb7BimztvJt2aC7JruWG3qhzMhoJpebqqiyWcow+8SjueW3PMX\nMGfEXUjsJbnuh/tD18j5AX154Ee97K2g4VwnbG41Jwg/BMtfhMNiSHNDo1qBP09A\nKkCbLmz6KPXkHeEPdgJFj3OodVvjJcL4YeClKHF7jMFe05asQtplXviDVKi4M8b/\nwQIDAQAB\n-----END PUBLIC KEY-----\n"
},
"id": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"type": "Person",
"inbox": "http://abel/inbox/JRcByz0izroTE1IXXd3fUA",
"outbox": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA/outbox",
"followers": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA/followers",
"following": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA/following",
"preferredUsername": "Alice",
"name": "Alice",
"identifiers": [
"acct:Alice@abel",
"http://abel/actor/ziCslIeQFl-QW8UjuNT4LA"
],
"endpoints": {
"sharedInbox": "http://abel/shared_inbox"
},
"manuallyApprovesFollowers": true
}
given: "Bob" created an actor on "abel" called "Bob"¶
send.Bob.request.create_actor
{
"base_url": "http://abel",
"preferred_username": "Bob",
"profile": {},
"automatically_accept_followers": null,
"name": null
}
receive.Bob.response.create_actor
{
"attachment": null,
"published": "2025-12-19T09:49:42.598422",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
}
],
"publicKey": {
"id": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w#legacy-key-1",
"owner": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxqpIM/Io+PP7zuG4nM6I\nBJmRtyBRfEVN0pT+/F212QI+x12+x1noaFHWZwCD7p8g4RQ+7Fc2W9FgzUi7Rmj0\nsCc14m810XYDBpnRu8nyvvs+7CZeUXDez6ynIk/dH6rakjcHi87Z4/N3hIFqKv2r\nmjjLKWPY/0yYE6aFTxepr+o7qqchn7GE0Xx6up1zKEWByI9jZMccRAPrP1obWEXa\nWPUbRmCTn/OqTJOtiVw5heqZSdqBlgC1hvxovTF+8gZ1+ituwWmHQr+Hsvxesl5J\nDgbGBD9xDvzP2JhZ8BuzMH7OJjKmJkA5ZPznmczFv1gMhe/m9a1sFPAvDVJkSMrw\nPwIDAQAB\n-----END PUBLIC KEY-----\n"
},
"id": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"type": "Person",
"inbox": "http://abel/inbox/pQJXcPlUFyrouhHrisWFBw",
"outbox": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w/outbox",
"followers": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w/followers",
"following": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w/following",
"preferredUsername": "Bob",
"name": "Bob",
"identifiers": [
"acct:Bob@abel",
"http://abel/actor/uGcc4H_SA9IRsotjrcQu3w"
],
"endpoints": {
"sharedInbox": "http://abel/shared_inbox"
},
"manuallyApprovesFollowers": true
}
when: "Bob" sends "Alice" a Follow Activity¶
send.Bob.trigger.send_message
{
"actor": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Follow",
"actor": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"to": [
"http://abel/actor/ziCslIeQFl-QW8UjuNT4LA"
],
"id": "follow:be111400-ea7c-454c-a4e7-5c3a515fa810",
"published": "2025-12-19T09:49:42Z",
"object": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA"
}
}
receive.Bob.outgoing.Follow
{
"data": {
"raw": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Follow",
"actor": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"to": [
"http://abel/actor/ziCslIeQFl-QW8UjuNT4LA"
],
"id": "follow:be111400-ea7c-454c-a4e7-5c3a515fa810",
"published": "2025-12-19T09:49:42Z",
"object": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA"
}
},
"actor": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"event_type": "outgoing",
"history_id": null
}
when: "Alice" sends an Accept to this Follow Activity¶
receive.Alice.incoming.Follow
{
"data": {
"raw": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Follow",
"actor": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"to": [
"http://abel/actor/ziCslIeQFl-QW8UjuNT4LA"
],
"id": "follow:be111400-ea7c-454c-a4e7-5c3a515fa810",
"published": "2025-12-19T09:49:42Z",
"object": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA"
}
},
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"event_type": "incoming",
"history_id": null
}
send.Alice.trigger.send_message
{
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"to": [
"http://abel/actor/uGcc4H_SA9IRsotjrcQu3w"
],
"published": "2025-12-19T09:49:43Z",
"object": "follow:be111400-ea7c-454c-a4e7-5c3a515fa810",
"id": "accept:680fb428-2eba-4ad2-95a1-aa12301ed184"
}
}
receive.Alice.outgoing.Accept
{
"data": {
"raw": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"to": [
"http://abel/actor/uGcc4H_SA9IRsotjrcQu3w"
],
"published": "2025-12-19T09:49:43Z",
"object": "follow:be111400-ea7c-454c-a4e7-5c3a515fa810",
"id": "accept:680fb428-2eba-4ad2-95a1-aa12301ed184"
}
},
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"event_type": "outgoing",
"history_id": null
}
when: "Alice" publishes a "moo" animal sound to her followers¶
receive.Bob.incoming.Accept
{
"data": {
"raw": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"to": [
"http://abel/actor/uGcc4H_SA9IRsotjrcQu3w"
],
"published": "2025-12-19T09:49:43Z",
"object": "follow:be111400-ea7c-454c-a4e7-5c3a515fa810",
"id": "accept:680fb428-2eba-4ad2-95a1-aa12301ed184"
}
},
"actor": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"event_type": "incoming",
"history_id": null
}
send.Alice.trigger.publish_activity
{
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "AnimalSound",
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"http://abel/actor/ziCslIeQFl-QW8UjuNT4LA/followers"
],
"published": "2025-12-19T09:49:43Z",
"content": "moo"
}
}
receive.Alice.outgoing.AnimalSound
{
"data": {
"raw": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "AnimalSound",
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"http://abel/actor/ziCslIeQFl-QW8UjuNT4LA/followers"
],
"published": "2025-12-19T09:49:43Z",
"content": "moo",
"id": "http://abel/simple_storage/019b3603-e656-7437-bc2f-bc934e6f3df7"
}
},
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"event_type": "outgoing",
"history_id": null
}
receive.Bob.incoming.AnimalSound
{
"data": {
"raw": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "AnimalSound",
"actor": "http://abel/actor/ziCslIeQFl-QW8UjuNT4LA",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"http://abel/actor/ziCslIeQFl-QW8UjuNT4LA/followers"
],
"published": "2025-12-19T09:49:43Z",
"content": "moo",
"id": "http://abel/simple_storage/019b3603-e656-7437-bc2f-bc934e6f3df7"
}
},
"actor": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"event_type": "incoming",
"history_id": null
}
then: "Bob" receives an activity¶
then: the received activity is of type "AnimalSound"¶
then: "Bob" can retrieve the activity¶
send.Bob.request.fetch
{
"actor": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"uri": "http://abel/simple_storage/019b3603-e656-7437-bc2f-bc934e6f3df7"
}
receive.Bob.response.fetch
{
"actor": "http://abel/actor/uGcc4H_SA9IRsotjrcQu3w",
"uri": "http://abel/simple_storage/019b3603-e656-7437-bc2f-bc934e6f3df7",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Tombstone",
"id": "http://abel/simple_storage/019b3603-e656-7437-bc2f-bc934e6f3df7"
}
}