Skip to content

Send message

given: "Alice" created an actor on "abel" called "Alice" with username "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": "2026-03-20T15:16:43.233840",
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
    }
  ],
  "publicKey": {
    "id": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q#legacy-key-1",
    "owner": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtEc3iHaVjZSQxsI2poRc\nWxWVGDcVP4NIp/VKohykUyqTh4jJoIeVde8ozzgV79Upu7axVh/PPbDGPurO2LjS\n8tLzRrEfV4cSS6lNFs1W21IpGN7En17tFR8KkGWRB+oAiTVmt91P8lKwsCE9uNEJ\nPR8FVpWlklPfVtLq1QGZvkV24yx/6b2/xFSDYtwKlGlPZqu1fAjF8bo39gi5Ibxg\nicUW0y/rJFdr1CfA68UL4Og/gC4KqPH0rD64LpsNf5lmZdesqGqSoc+0lshmIHzB\nnNKAGjblW3aBgo3Hu1lmKAt5it1M1WVejUEREZdUcSaOUmJLpiEM+nSeK7rqVq26\nMQIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
  "type": "Person",
  "inbox": "http://abel/inbox/ev_lZlD9bHkPnIZhQniL5A",
  "outbox": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/outbox",
  "followers": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/followers",
  "following": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/following",
  "preferredUsername": "Alice",
  "name": "Alice",
  "identifiers": [
    "acct:Alice@abel",
    "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q"
  ],
  "endpoints": {
    "sharedInbox": "http://abel/shared_inbox"
  },
  "manuallyApprovesFollowers": true
}

given: "bob" created an actor on "abel" called "bob" with username "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": "2026-03-20T15:16:43.820271",
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
    }
  ],
  "publicKey": {
    "id": "http://abel/actor/Kwl05HcF1uadbx_trcO7bg#legacy-key-1",
    "owner": "http://abel/actor/Kwl05HcF1uadbx_trcO7bg",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzSbX4i6eF9zQnCnAKvdx\nrypxCzK/vYuVSypxrR4FXKwkCrX2rEAZhjwEVkUmvLtLFV4N3vFqrhI6AMYa8IAp\nIJVQSQKejlcPA+WET7L5E1HW5/qAr8WJdGarZ/dYw9pN0re4SRjsLnnKSJmPHn3y\nb54Hm9KuxlhLqf8bTPPgMFMFk0+nTxdHx91zzduc0ri3Sxybgdl67nZD54d5krXB\nJyitruyGGUA85L6+L6mRp5Blv0LQpMKqgAMk/JiLiPdaEeeGXzdPSfVkZ+5Gowg7\neV0nGE27+fqnfnFbyTu0HkdHrydZaD4XIk3r4Yx3JJOdbZp+FtUvcdjr7Gn7CtJ4\nCQIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://abel/actor/Kwl05HcF1uadbx_trcO7bg",
  "type": "Person",
  "inbox": "http://abel/inbox/yD6go-3QXUCMsW2uB0oytQ",
  "outbox": "http://abel/actor/Kwl05HcF1uadbx_trcO7bg/outbox",
  "followers": "http://abel/actor/Kwl05HcF1uadbx_trcO7bg/followers",
  "following": "http://abel/actor/Kwl05HcF1uadbx_trcO7bg/following",
  "preferredUsername": "bob",
  "name": "bob",
  "identifiers": [
    "acct:bob@abel",
    "http://abel/actor/Kwl05HcF1uadbx_trcO7bg"
  ],
  "endpoints": {
    "sharedInbox": "http://abel/shared_inbox"
  },
  "manuallyApprovesFollowers": true
}

when: "Alice" sends "bob" a message saying "You stole my milk!"

send.Alice.trigger.send_message
{
  "actor": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Create",
    "actor": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
    "to": [
      "http://abel/actor/Kwl05HcF1uadbx_trcO7bg"
    ],
    "id": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/ab6997a3f63cee0b",
    "published": "2026-03-20T15:16:43Z",
    "object": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Note",
      "attributedTo": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
      "to": [
        "http://abel/actor/Kwl05HcF1uadbx_trcO7bg"
      ],
      "id": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/7c07d68f17c001db",
      "published": "2026-03-20T15:16:43Z",
      "content": "You stole my milk!"
    }
  }
}
receive.Alice.outgoing.Create
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Create",
      "actor": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
      "to": [
        "http://abel/actor/Kwl05HcF1uadbx_trcO7bg"
      ],
      "id": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/ab6997a3f63cee0b",
      "published": "2026-03-20T15:16:43Z",
      "object": {
        "@context": "https://www.w3.org/ns/activitystreams",
        "type": "Note",
        "attributedTo": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
        "to": [
          "http://abel/actor/Kwl05HcF1uadbx_trcO7bg"
        ],
        "id": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/7c07d68f17c001db",
        "published": "2026-03-20T15:16:43Z",
        "content": "You stole my milk!"
      }
    }
  },
  "actor": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
  "event_type": "outgoing",
  "history_id": null
}
receive.bob.incoming.Create
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Create",
      "actor": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
      "to": [
        "http://abel/actor/Kwl05HcF1uadbx_trcO7bg"
      ],
      "id": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/ab6997a3f63cee0b",
      "published": "2026-03-20T15:16:43Z",
      "object": {
        "@context": "https://www.w3.org/ns/activitystreams",
        "type": "Note",
        "attributedTo": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
        "to": [
          "http://abel/actor/Kwl05HcF1uadbx_trcO7bg"
        ],
        "id": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/7c07d68f17c001db",
        "published": "2026-03-20T15:16:43Z",
        "content": "You stole my milk!"
      }
    }
  },
  "actor": "http://abel/actor/Kwl05HcF1uadbx_trcO7bg",
  "event_type": "incoming",
  "history_id": null
}

then: "bob" receives a message saying "You stole my milk!"

then: "bob" can lookup this message by id

send.bob.request.fetch
{
  "actor": "http://abel/actor/Kwl05HcF1uadbx_trcO7bg",
  "uri": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/7c07d68f17c001db"
}
receive.bob.response.fetch
{
  "actor": "http://abel/actor/Kwl05HcF1uadbx_trcO7bg",
  "uri": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/7c07d68f17c001db",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Note",
    "attributedTo": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q",
    "to": [
      "http://abel/actor/Kwl05HcF1uadbx_trcO7bg"
    ],
    "id": "http://abel/actor/r4Ye5Dv620N3jnrEFlQR3Q/7c07d68f17c001db",
    "published": "2026-03-20T15:16:43Z",
    "content": "You stole my milk!"
  }
}