Skip to content

Following -- @1.4

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,
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1"
  ],
  "publicKey": {
    "id": "http://abel/actor/atZea71luh8sPylxEHLVvA#legacy-key-1",
    "owner": "http://abel/actor/atZea71luh8sPylxEHLVvA",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuAn4xVV9QX9fm9eR3H6o\nXOO0kxk5w3/nO+hrehurz7tU2NlLF/2VlkpxPRgkmWw0844ikn7OJ7efaBuLXyaH\nmMhOmTUP2eAKQuvhDIhgm9/1gB9GaWlGHEaLIbSEaHinT8MHEezAKJZ2JzOQmP8C\ncYR9jaqO4Kk8TpV4vdTjgaZ6PIuDDOZI9VP29oRjKv6mtHa1pga8yJ1CeEcekRkD\ndj/Wo3S0BQErOoFkokbPCemppwtRBH3g6o2z0NYJeOcOQyYGS9l117/XrPCuU7Bk\nTXYKk01XdTBF+aCjE7qnKq8U4MVfTOi5EORWnruuFxF2HZPFMLJUsK3qyPd4HV3m\nKQIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://abel/actor/atZea71luh8sPylxEHLVvA",
  "type": "Person",
  "inbox": "http://abel/inbox/nuWUb6buRaH26giQEXt_lQ",
  "outbox": "http://abel/outbox/fAMsSXj4_lgbIGblUUHy6g",
  "followers": "http://abel/followers/gDofZs8loJ-tvG_UuKb2tw",
  "following": "http://abel/following/pNq8CfqvtgkyQNJyXSJO0A",
  "preferredUsername": "Alice",
  "name": "Alice",
  "identifiers": [
    "acct:Alice@abel",
    "http://abel/actor/atZea71luh8sPylxEHLVvA"
  ],
  "endpoints": {
    "sharedInbox": "http://abel/shared_inbox"
  }
}

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,
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1"
  ],
  "publicKey": {
    "id": "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA#legacy-key-1",
    "owner": "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnRUePYMAx3wa/wMik7n7\ngXDdOPGcxfxxb7TiBrHGsgwZuXAPyDO0/ewG1FsuDBtGODlkP+wygHVyois3hz1/\nW5F7T6bHMOll0QkEU6HbCuqGth6CVsOICfREUFKPfVTHxBtmZGDDiQWODCA+LKDD\npVtyyumOJiU0cnxY4C5WsMx2vbnf9JYlu98vtV56/H6h4OU7ca7TD62VzvchU/Aj\nGabKCpvcVYdz9WiozpOCaODolhyjWCLKusjlMyyDV1x8YPieCSuKNRVu5tuxAelG\nP7qCTnfBiXjSiKw8bLNvxTzDlzpfwYRbnYJpEUmR75wJSR1jGaWeRBcG4T3JEUPo\n3wIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA",
  "type": "Person",
  "inbox": "http://banach/inbox/Z7T9zkTCzzMtXVc3kPTijg",
  "outbox": "http://banach/outbox/5GhX1SqIOIsazbUmVHntrQ",
  "followers": "http://banach/followers/4vDyqS7R1uDCe7ZVSxyY8w",
  "following": "http://banach/following/BmmoBrUOhslLI4Q1M-TnUw",
  "preferredUsername": "Bob",
  "name": "Bob",
  "identifiers": [
    "acct:Bob@banach",
    "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA"
  ],
  "endpoints": {
    "sharedInbox": "http://banach/shared_inbox"
  }
}

given: "Claire" created an actor on "abel" called "Claire"

send.Claire.request.create_actor
{
  "base_url": "http://abel",
  "preferred_username": "Claire",
  "profile": {},
  "automatically_accept_followers": null,
  "name": null
}
receive.Claire.response.create_actor
{
  "attachment": null,
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1"
  ],
  "publicKey": {
    "id": "http://abel/actor/aoG2WxHpo3tR2WvJW8QUaA#legacy-key-1",
    "owner": "http://abel/actor/aoG2WxHpo3tR2WvJW8QUaA",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4iLvspb+L9E9VPaRAIbX\n/4r9OOF5VSbH4bvZkm0VXt9iEFN2IzVvWY7qjIBav/gmS3B/Igw+pqkSK5U6mPr8\nUpVMJPHBtaXe/2fhYWlPWzpoWPuArlYnqCPybofqfKEDRD6d/uK7swxb/ILe2pNT\nhhbxPQU+BBRSpoY1sAQfDcPvgeurzZLXUlLT/RfVLsslUb2XWt/hjr4Hb4GputX5\nje+kz0LDGzdPD1Ui9VfICeMR0oY73KFGDJI85V/9uQmfyXnD5Vpuj533xeGB9Qa/\nzu1WDz12Vxq0SMSw43YVXwMD+7jCkVtJkxz5v+wr4WyNSx1Ko6YNEsDk+89ma786\nzwIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://abel/actor/aoG2WxHpo3tR2WvJW8QUaA",
  "type": "Person",
  "inbox": "http://abel/inbox/QxHVD6XLWKlq2Ou86gC_jg",
  "outbox": "http://abel/outbox/aXJXgwr3qRByxlE9rqCNdQ",
  "followers": "http://abel/followers/37PWej5NNoNmxzBNsVGkAQ",
  "following": "http://abel/following/cSqW0RN2VN910k0jlbw-vg",
  "preferredUsername": "Claire",
  "name": "Claire",
  "identifiers": [
    "acct:Claire@abel",
    "http://abel/actor/aoG2WxHpo3tR2WvJW8QUaA"
  ],
  "endpoints": {
    "sharedInbox": "http://abel/shared_inbox"
  }
}

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

send.Bob.trigger.send_message
{
  "actor": "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Follow",
    "actor": "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA",
    "to": [
      "http://abel/actor/atZea71luh8sPylxEHLVvA"
    ],
    "id": "follow:0dac1baf-8f2b-4d0a-831d-51e84324d824",
    "published": "2025-02-23T08:45:28Z",
    "object": "http://abel/actor/atZea71luh8sPylxEHLVvA"
  }
}
receive.Bob.outgoing
{
  "actor": "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA",
  "event_type": "outgoing",
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Follow",
      "actor": "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA",
      "to": [
        "http://abel/actor/atZea71luh8sPylxEHLVvA"
      ],
      "id": "follow:0dac1baf-8f2b-4d0a-831d-51e84324d824",
      "published": "2025-02-23T08:45:28Z",
      "object": "http://abel/actor/atZea71luh8sPylxEHLVvA"
    },
    "recipients": {
      "recipients": [
        "http://abel/actor/atZea71luh8sPylxEHLVvA"
      ],
      "public": false
    }
  }
}
receive.Alice.incoming
{
  "actor": "http://abel/actor/atZea71luh8sPylxEHLVvA",
  "event_type": "incoming",
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Follow",
      "actor": "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA",
      "to": [
        "http://abel/actor/atZea71luh8sPylxEHLVvA"
      ],
      "id": "follow:0dac1baf-8f2b-4d0a-831d-51e84324d824",
      "published": "2025-02-23T08:45:28Z",
      "object": "http://abel/actor/atZea71luh8sPylxEHLVvA"
    },
    "recipients": {
      "recipients": [
        "http://abel/actor/atZea71luh8sPylxEHLVvA"
      ],
      "public": false
    }
  }
}

when: "Alice" sends an Accept to this Follow Activity

send.Alice.trigger.send_message
{
  "actor": "http://abel/actor/atZea71luh8sPylxEHLVvA",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Accept",
    "actor": "http://abel/actor/atZea71luh8sPylxEHLVvA",
    "to": [
      "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA"
    ],
    "published": "2025-02-23T08:45:29Z",
    "object": "follow:0dac1baf-8f2b-4d0a-831d-51e84324d824",
    "id": "accept:b4b41385-94ca-4328-9ef0-9f910198300e"
  }
}
receive.Alice.outgoing
{
  "actor": "http://abel/actor/atZea71luh8sPylxEHLVvA",
  "event_type": "outgoing",
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Accept",
      "actor": "http://abel/actor/atZea71luh8sPylxEHLVvA",
      "to": [
        "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA"
      ],
      "published": "2025-02-23T08:45:29Z",
      "object": "follow:0dac1baf-8f2b-4d0a-831d-51e84324d824",
      "id": "accept:b4b41385-94ca-4328-9ef0-9f910198300e"
    },
    "recipients": {
      "recipients": [
        "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA"
      ],
      "public": false
    }
  }
}
receive.Bob.incoming
{
  "actor": "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA",
  "event_type": "incoming",
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Accept",
      "actor": "http://abel/actor/atZea71luh8sPylxEHLVvA",
      "to": [
        "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA"
      ],
      "published": "2025-02-23T08:45:29Z",
      "object": "follow:0dac1baf-8f2b-4d0a-831d-51e84324d824",
      "id": "accept:b4b41385-94ca-4328-9ef0-9f910198300e"
    },
    "recipients": {
      "recipients": [
        "http://banach/actor/rMNc5Oy3kwO0z7YxGpmZJA"
      ],
      "public": false
    }
  }
}

when: "Alice" creates an object addressed to "public"

then: "Bob" is "authorized" to view this object