Following -- @1.4¶
given: "Alice" created an actor on "banach" called "Alice"¶
send.Alice.request.create_actor
{
"base_url": "http://banach",
"preferred_username": "Alice",
"profile": {},
"automatically_accept_followers": null,
"name": null
}
receive.Alice.response.create_actor
{
"attachment": null,
"published": "2025-12-19T09:50:58.991093",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
}
],
"publicKey": {
"id": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw#legacy-key-1",
"owner": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5AWrCd5lnrbpccHNy5oQ\nYEpHLZLA0337vXzOhTjNU8TiVetXeFQh2t+K32wthknH8M3sVlmkZqAgk7AEEaYq\n1VHRVGLJEa3dmk33/lp/9Fm4RAgL2Mfoz4nwh4bPGxj2xte1kSwr1Iqb2xQc/9hj\nQacevChWAiZ/lnr9tZo7P1/vxwsS9hmuqoP+ZLhpFgVlIszRwLg9Iy3BSyr24oUV\nBZKN61DvTRO5Q9B/+J+t3tLcSQ4ChRvl3pqR7R237WdxNCuBSHXRK84qhmaQI+i/\nSOXR8XCh0VuYfy0sXunNu1AGAq2fvZrESwhWPTEMNilXXjr2vFQQfUcn6ygPUxek\npwIDAQAB\n-----END PUBLIC KEY-----\n"
},
"id": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw",
"type": "Person",
"inbox": "http://banach/inbox/CUjJZjpXuG_Z2kn_esfR2g",
"outbox": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw/outbox",
"followers": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw/followers",
"following": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw/following",
"preferredUsername": "Alice",
"name": "Alice",
"identifiers": [
"acct:Alice@banach",
"http://banach/actor/XVax1lL-cqjNWMz7MtxaTw"
],
"endpoints": {
"sharedInbox": "http://banach/shared_inbox"
},
"manuallyApprovesFollowers": true
}
given: "Bob" created an actor on "banach" called "Bob"¶
send.Bob.request.create_actor
{
"base_url": "http://banach",
"preferred_username": "Bob",
"profile": {},
"automatically_accept_followers": null,
"name": null
}
receive.Bob.response.create_actor
{
"attachment": null,
"published": "2025-12-19T09:51:00.175860",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
}
],
"publicKey": {
"id": "http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw#legacy-key-1",
"owner": "http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwbe+k2Hyq/VFNXPTepkx\nnugf2stq0oDqj/JBaUcXazUMjZva97JOqruGm3aHGWcRTmYlJyvGpU86RQLmqBQy\n9+3zbTCqf9GLxiDlZZCYDyIj2Qg0XvGFxveM3b46YGiAvMmhs9MuFKaEtit+1Vj2\n/GHLtTBX/QdgAN0ciPAoHkk/BbUJ93d0PA4ohFW0MXzg1JeXIUz1WDVF+sSNwy7V\ny50Y8udOnKMfm/DoSImeY0sWtDmOoKNkvCE1rh9EZJAvlTQHy3Jy6CBT4xaF+jzp\nF7e6VsLiP7VkGIiM8W+w8apWV/iv+3keTHH0/X2V9eD0K8XIFBzYOL241Ws4sPCr\n8QIDAQAB\n-----END PUBLIC KEY-----\n"
},
"id": "http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw",
"type": "Person",
"inbox": "http://banach/inbox/aK2m9zopSefNUUkfpIiRpg",
"outbox": "http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw/outbox",
"followers": "http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw/followers",
"following": "http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw/following",
"preferredUsername": "Bob",
"name": "Bob",
"identifiers": [
"acct:Bob@banach",
"http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw"
],
"endpoints": {
"sharedInbox": "http://banach/shared_inbox"
},
"manuallyApprovesFollowers": true
}
given: "Claire" created an actor on "banach" called "Claire"¶
send.Claire.request.create_actor
{
"base_url": "http://banach",
"preferred_username": "Claire",
"profile": {},
"automatically_accept_followers": null,
"name": null
}
receive.Claire.response.create_actor
{
"attachment": null,
"published": "2025-12-19T09:51:01.095218",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
}
],
"publicKey": {
"id": "http://banach/actor/rzI97IzGVzliW3_cKT9NTg#legacy-key-1",
"owner": "http://banach/actor/rzI97IzGVzliW3_cKT9NTg",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq/EnjdBRkgcGAG4ErWc2\nvP/zDdImik4gxlOL1+9G4mT4dq5EHwynb0R21yH+Miu6Z2VTwsrY9B/dpH4zb4Mq\n5X/jjRzoXmszHGMvcGnnotc7bhKDPtz3ZPJwF38VikPVbtSid11NwlnhUnXtLNTX\ngm+6OpzacpqPlArVLQXxUiKINzcwd3T7w795j0CYzZmMfsAHTEMX0oV3oeHycbtM\nUjJqY86LxKz1I6QbbLaNRHwprvkdeZil4stkjlIrzmbuu1r2jS2BtI8L3GIU1W4O\nxqcEsAvXmmaDl2GTp/ZJZWwrjMgWJF8M2oS1MkfdJqGBAzLLO6nvzsY2sqsE0GsH\nWQIDAQAB\n-----END PUBLIC KEY-----\n"
},
"id": "http://banach/actor/rzI97IzGVzliW3_cKT9NTg",
"type": "Person",
"inbox": "http://banach/inbox/D8LSaqu5-0m9AXY2ptNzXQ",
"outbox": "http://banach/actor/rzI97IzGVzliW3_cKT9NTg/outbox",
"followers": "http://banach/actor/rzI97IzGVzliW3_cKT9NTg/followers",
"following": "http://banach/actor/rzI97IzGVzliW3_cKT9NTg/following",
"preferredUsername": "Claire",
"name": "Claire",
"identifiers": [
"acct:Claire@banach",
"http://banach/actor/rzI97IzGVzliW3_cKT9NTg"
],
"endpoints": {
"sharedInbox": "http://banach/shared_inbox"
},
"manuallyApprovesFollowers": true
}
when: "Bob" sends "Alice" a Follow Activity¶
send.Bob.trigger.send_message
{
"actor": "http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Follow",
"actor": "http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw",
"to": [
"http://banach/actor/XVax1lL-cqjNWMz7MtxaTw"
],
"id": "follow:6b5d115b-dc50-4ef3-b538-5ee02fd70d97",
"published": "2025-12-19T09:51:01Z",
"object": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw"
}
}
receive.Bob.outgoing.Follow
{
"data": {
"raw": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Follow",
"actor": "http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw",
"to": [
"http://banach/actor/XVax1lL-cqjNWMz7MtxaTw"
],
"id": "follow:6b5d115b-dc50-4ef3-b538-5ee02fd70d97",
"published": "2025-12-19T09:51:01Z",
"object": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw"
}
},
"actor": "http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw",
"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://banach/actor/3Le75_VlzY2Kx0wWsRJkpw",
"to": [
"http://banach/actor/XVax1lL-cqjNWMz7MtxaTw"
],
"id": "follow:6b5d115b-dc50-4ef3-b538-5ee02fd70d97",
"published": "2025-12-19T09:51:01Z",
"object": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw"
}
},
"actor": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw",
"event_type": "incoming",
"history_id": null
}
send.Alice.trigger.send_message
{
"actor": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"actor": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw",
"to": [
"http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw"
],
"published": "2025-12-19T09:51:01Z",
"object": "follow:6b5d115b-dc50-4ef3-b538-5ee02fd70d97",
"id": "accept:ce05aa07-ad6a-4959-a6a1-9e7493777c07"
}
}
receive.Alice.outgoing.Accept
{
"data": {
"raw": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"actor": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw",
"to": [
"http://banach/actor/3Le75_VlzY2Kx0wWsRJkpw"
],
"published": "2025-12-19T09:51:01Z",
"object": "follow:6b5d115b-dc50-4ef3-b538-5ee02fd70d97",
"id": "accept:ce05aa07-ad6a-4959-a6a1-9e7493777c07"
}
},
"actor": "http://banach/actor/XVax1lL-cqjNWMz7MtxaTw",
"event_type": "outgoing",
"history_id": null
}