Skip to content

Publish Object content is correct

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:49:51.892076",
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
    }
  ],
  "publicKey": {
    "id": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g#legacy-key-1",
    "owner": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA29YxcUK6+0DXQ5Uz5BZL\nTRkm0PNv958Xb9/BLfGwETqhTIYp3ORaJw6QCyrHqpTK37UhBEawMdBLpSOKa9Ay\nfxOGFkTNPHWXPWmoZiQ6yGnYxIll9ey/e40TTw8ZMBaeGST26S2vixUNRQkGGA6d\nLOb2jXo3IJpkz+BJheK231oHzG+PsWhbImEdA49HZPUf6U48HFWNhdchO2/sn0Wb\nffqlpkMXfWmTYY35OqqwI53v+66206vPXB+X2reBhQZ92RLFtnBgAh+dqzPSzBlr\nzjfH5J2n7HUJL72ozuW+u6cij/HRZtZBy6r85R/p0yxlBsccZWkfrUniqPhxFiMD\nrQIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
  "type": "Person",
  "inbox": "http://banach/inbox/fmZAgo2fvsFcKI-E0m28wA",
  "outbox": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g/outbox",
  "followers": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g/followers",
  "following": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g/following",
  "preferredUsername": "Alice",
  "name": "Alice",
  "identifiers": [
    "acct:Alice@banach",
    "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g"
  ],
  "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:49:52.907774",
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
    }
  ],
  "publicKey": {
    "id": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w#legacy-key-1",
    "owner": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtxZILLlzalo5CqzG2vlN\nRvBHhnCgh8Qznts48AH/EWKzx49rhfV34ga6Lfl37lzVRtoTtIcFoTViJUxEXJg0\nW52yD3+O+LDmWkJmRqVRKKUy+LLQaTvzQr1skd6GW6uwz9R7Izp9jkviAX6Wvt3P\nTgGFq6sQIA5G9flRChMUJGNdFePq7i2tABmU/ld94AcYSmZ8HTIioyVVrFvT0SnG\nIGWeBojCYIl1OQfs99hnbgB9cynYXRCuaBm96NMasgY+6uHyn/k2Klq9dOZaYRwX\nGLy1lvOA1r4cPexha/yocdWo+WvT4/yNIPz80BEOmKv4Xf8e045kmGXiaBKtL4kA\nwwIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w",
  "type": "Person",
  "inbox": "http://banach/inbox/N1o4dT7_YPFvDvJo-Us8Vg",
  "outbox": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w/outbox",
  "followers": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w/followers",
  "following": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w/following",
  "preferredUsername": "Bob",
  "name": "Bob",
  "identifiers": [
    "acct:Bob@banach",
    "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w"
  ],
  "endpoints": {
    "sharedInbox": "http://banach/shared_inbox"
  },
  "manuallyApprovesFollowers": true
}

when: "Bob" sends "Alice" a Follow Activity

send.Bob.trigger.send_message
{
  "actor": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Follow",
    "actor": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w",
    "to": [
      "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g"
    ],
    "id": "follow:c4139453-dafd-4b24-801c-6ba1eef1b4de",
    "published": "2025-12-19T09:49:53Z",
    "object": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g"
  }
}
receive.Bob.outgoing.Follow
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Follow",
      "actor": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w",
      "to": [
        "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g"
      ],
      "id": "follow:c4139453-dafd-4b24-801c-6ba1eef1b4de",
      "published": "2025-12-19T09:49:53Z",
      "object": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g"
    }
  },
  "actor": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w",
  "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/2R0YpIlZY7Rkyu4dDJC71w",
      "to": [
        "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g"
      ],
      "id": "follow:c4139453-dafd-4b24-801c-6ba1eef1b4de",
      "published": "2025-12-19T09:49:53Z",
      "object": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g"
    }
  },
  "actor": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
  "event_type": "incoming",
  "history_id": null
}
send.Alice.trigger.send_message
{
  "actor": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Accept",
    "actor": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
    "to": [
      "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w"
    ],
    "published": "2025-12-19T09:49:53Z",
    "object": "follow:c4139453-dafd-4b24-801c-6ba1eef1b4de",
    "id": "accept:434aeda4-46d1-4f24-972f-7a66445c412a"
  }
}
receive.Alice.outgoing.Accept
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Accept",
      "actor": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
      "to": [
        "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w"
      ],
      "published": "2025-12-19T09:49:53Z",
      "object": "follow:c4139453-dafd-4b24-801c-6ba1eef1b4de",
      "id": "accept:434aeda4-46d1-4f24-972f-7a66445c412a"
    }
  },
  "actor": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
  "event_type": "outgoing",
  "history_id": null
}

when: "Alice" publishes a message "I <3 milk!" to her followers

receive.Bob.incoming.Accept
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Accept",
      "actor": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
      "to": [
        "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w"
      ],
      "published": "2025-12-19T09:49:53Z",
      "object": "follow:c4139453-dafd-4b24-801c-6ba1eef1b4de",
      "id": "accept:434aeda4-46d1-4f24-972f-7a66445c412a"
    }
  },
  "actor": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w",
  "event_type": "incoming",
  "history_id": null
}
send.Alice.trigger.publish_object
{
  "actor": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Note",
    "attributedTo": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public"
    ],
    "cc": [
      "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g/followers"
    ],
    "published": "2025-12-19T09:49:54Z",
    "content": "I <3 milk!"
  }
}
receive.Alice.outgoing.Create
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Create",
      "actor": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "cc": [
        "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g/followers"
      ],
      "published": "2025-12-19T09:49:54Z",
      "object": {
        "@context": "https://www.w3.org/ns/activitystreams",
        "type": "Note",
        "attributedTo": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
        "to": [
          "https://www.w3.org/ns/activitystreams#Public"
        ],
        "cc": [
          "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g/followers"
        ],
        "published": "2025-12-19T09:49:54Z",
        "content": "I <3 milk!",
        "id": "http://banach/simple_storage/019b3604-0ecb-7c56-8574-93663e0a960e"
      },
      "id": "http://banach/simple_storage/019b3604-0edd-730a-b86a-5678ed481b11"
    }
  },
  "actor": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
  "event_type": "outgoing",
  "history_id": null
}
receive.Bob.incoming.Create
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Create",
      "actor": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "cc": [
        "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g/followers"
      ],
      "published": "2025-12-19T09:49:54Z",
      "object": {
        "@context": "https://www.w3.org/ns/activitystreams",
        "type": "Note",
        "attributedTo": "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g",
        "to": [
          "https://www.w3.org/ns/activitystreams#Public"
        ],
        "cc": [
          "http://banach/actor/RRWJoapBeRJ1gMpr8TNy1g/followers"
        ],
        "published": "2025-12-19T09:49:54Z",
        "content": "I <3 milk!",
        "id": "http://banach/simple_storage/019b3604-0ecb-7c56-8574-93663e0a960e"
      },
      "id": "http://banach/simple_storage/019b3604-0edd-730a-b86a-5678ed481b11"
    }
  },
  "actor": "http://banach/actor/2R0YpIlZY7Rkyu4dDJC71w",
  "event_type": "incoming",
  "history_id": null
}

then: "Bob" receives a message saying "I <3 milk!"