Skip to content

Alice sets her name and has the url property

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:17:43.102031",
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
    }
  ],
  "publicKey": {
    "id": "http://abel/actor/meLNHqHpqovydxsGuzDZig#legacy-key-1",
    "owner": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiVWpGuzIjmKLM/mVmDpZ\nA6QrlT3e8ubJpkayGAuXXQ1YQUuFfeFWip372ciqIDYSTt+/siz6EKopcMJcnt7D\nsmsmi1HoNkmBJzdq26Ce3as/w1letO1i9dDJ9jCg57EnDck0DjsMJlxhtQCDb0Mk\npBJxG4lQbNxhsk6hTpglMLG9jGJnibkUNqRmFR6/Zj43TYNjbQz8h0OADpfVt839\nPGxvrUJ6kF5+u7pFGynH5f7ur6fqcDF9Y67/jVeO0nbMC/nBzn+fh+t4YfdLd69L\nhAJA/aVky16w7Iwjo7G6VrRDVr+yq8eiBn/ajyZQuOcRWixN68E7Rx20aF83N+eB\nPwIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
  "type": "Person",
  "inbox": "http://abel/inbox/PHdTiLnObm67oJ_vXR2N1w",
  "outbox": "http://abel/actor/meLNHqHpqovydxsGuzDZig/outbox",
  "followers": "http://abel/actor/meLNHqHpqovydxsGuzDZig/followers",
  "following": "http://abel/actor/meLNHqHpqovydxsGuzDZig/following",
  "preferredUsername": "Alice",
  "name": "Alice",
  "identifiers": [
    "acct:Alice@abel",
    "http://abel/actor/meLNHqHpqovydxsGuzDZig"
  ],
  "endpoints": {
    "sharedInbox": "http://abel/shared_inbox"
  },
  "manuallyApprovesFollowers": true
}

given: "Bob" created an actor on "banach" called "Bob" with username "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": "2026-03-20T15:17:43.887209",
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
    }
  ],
  "publicKey": {
    "id": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw#legacy-key-1",
    "owner": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlOn88/XsZJTqyCeGYNjD\nmGQznbkO+ObdCVCPl7r4IRBCGwrE4CUIST7dPAslXgwgwC0aAsEHPHgXAaMOekXb\nwlwUskxHqZmwdi6tR5GHc7pjAeFUa7qmFXIhiX9yct1j4OoZZ7/JpBJm9t4x4zf9\nU+8T677YnbyV9rbET4i/B919qS41op9Hx2eoZNQIdTgzZQmbl2Cmt9iMvJTK1fLg\n9XHsFgo/XB7pD0zj6clNmQPKzgotp/FEbZ03CPCSrOUg1zOHZ/BtKdeOzNP+xrwg\nbMhxborLqsrl9JU1hYspLkBIXFz63bGIMOLuBlMl+GdShijeuUw6Ks/i3W9lklYQ\nDQIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw",
  "type": "Person",
  "inbox": "http://banach/inbox/yNNZgSL-nedQ-kx5T0Peyg",
  "outbox": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw/outbox",
  "followers": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw/followers",
  "following": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw/following",
  "preferredUsername": "Bob",
  "name": "Bob",
  "identifiers": [
    "acct:Bob@banach",
    "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw"
  ],
  "endpoints": {
    "sharedInbox": "http://banach/shared_inbox"
  },
  "manuallyApprovesFollowers": true
}

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

send.Bob.trigger.send_message
{
  "actor": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Follow",
    "actor": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw",
    "to": [
      "http://abel/actor/meLNHqHpqovydxsGuzDZig"
    ],
    "id": "follow:3f8addd6-b7fc-4375-b0b0-6c2c7771147c",
    "published": "2026-03-20T15:17:44Z",
    "object": "http://abel/actor/meLNHqHpqovydxsGuzDZig"
  }
}
receive.Bob.outgoing.Follow
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Follow",
      "actor": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw",
      "to": [
        "http://abel/actor/meLNHqHpqovydxsGuzDZig"
      ],
      "id": "follow:3f8addd6-b7fc-4375-b0b0-6c2c7771147c",
      "published": "2026-03-20T15:17:44Z",
      "object": "http://abel/actor/meLNHqHpqovydxsGuzDZig"
    }
  },
  "actor": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw",
  "event_type": "outgoing",
  "history_id": null
}
receive.Alice.incoming.Follow
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Follow",
      "actor": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw",
      "to": [
        "http://abel/actor/meLNHqHpqovydxsGuzDZig"
      ],
      "id": "follow:3f8addd6-b7fc-4375-b0b0-6c2c7771147c",
      "published": "2026-03-20T15:17:44Z",
      "object": "http://abel/actor/meLNHqHpqovydxsGuzDZig"
    }
  },
  "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
  "event_type": "incoming",
  "history_id": null
}

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

send.Alice.trigger.send_message
{
  "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Accept",
    "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
    "to": [
      "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw"
    ],
    "published": "2026-03-20T15:17:44Z",
    "object": "follow:3f8addd6-b7fc-4375-b0b0-6c2c7771147c",
    "id": "accept:c6d09ad4-74eb-4f46-a7fc-1b5c0f65c16f"
  }
}
receive.Alice.outgoing.Accept
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Accept",
      "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
      "to": [
        "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw"
      ],
      "published": "2026-03-20T15:17:44Z",
      "object": "follow:3f8addd6-b7fc-4375-b0b0-6c2c7771147c",
      "id": "accept:c6d09ad4-74eb-4f46-a7fc-1b5c0f65c16f"
    }
  },
  "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
  "event_type": "outgoing",
  "history_id": null
}
receive.Bob.incoming.Accept
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Accept",
      "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
      "to": [
        "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw"
      ],
      "published": "2026-03-20T15:17:44Z",
      "object": "follow:3f8addd6-b7fc-4375-b0b0-6c2c7771147c",
      "id": "accept:c6d09ad4-74eb-4f46-a7fc-1b5c0f65c16f"
    }
  },
  "actor": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw",
  "event_type": "incoming",
  "history_id": null
}

given: "Alice" sets her display name to "alex"

send.Alice.trigger.html_display_name
{
  "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
  "name": "alex"
}
receive.Alice.outgoing.Update
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Update",
      "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "cc": [
        "http://abel/actor/meLNHqHpqovydxsGuzDZig/followers"
      ],
      "published": "2026-03-20T15:17:44Z",
      "object": {
        "attachment": null,
        "published": "2026-03-20T15:17:43.102031",
        "@context": [
          "https://www.w3.org/ns/activitystreams",
          "https://w3id.org/security/v1",
          {
            "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
          }
        ],
        "publicKey": {
          "id": "http://abel/actor/meLNHqHpqovydxsGuzDZig#legacy-key-1",
          "owner": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
          "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiVWpGuzIjmKLM/mVmDpZ\nA6QrlT3e8ubJpkayGAuXXQ1YQUuFfeFWip372ciqIDYSTt+/siz6EKopcMJcnt7D\nsmsmi1HoNkmBJzdq26Ce3as/w1letO1i9dDJ9jCg57EnDck0DjsMJlxhtQCDb0Mk\npBJxG4lQbNxhsk6hTpglMLG9jGJnibkUNqRmFR6/Zj43TYNjbQz8h0OADpfVt839\nPGxvrUJ6kF5+u7pFGynH5f7ur6fqcDF9Y67/jVeO0nbMC/nBzn+fh+t4YfdLd69L\nhAJA/aVky16w7Iwjo7G6VrRDVr+yq8eiBn/ajyZQuOcRWixN68E7Rx20aF83N+eB\nPwIDAQAB\n-----END PUBLIC KEY-----\n"
        },
        "id": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
        "type": "Person",
        "inbox": "http://abel/inbox/PHdTiLnObm67oJ_vXR2N1w",
        "outbox": "http://abel/actor/meLNHqHpqovydxsGuzDZig/outbox",
        "followers": "http://abel/actor/meLNHqHpqovydxsGuzDZig/followers",
        "following": "http://abel/actor/meLNHqHpqovydxsGuzDZig/following",
        "preferredUsername": "Alice",
        "name": "Alice",
        "url": [
          {
            "type": "Link",
            "href": "http://abel/@alex",
            "mediaType": "text/html"
          }
        ],
        "identifiers": [
          "acct:Alice@abel",
          "http://abel/actor/meLNHqHpqovydxsGuzDZig"
        ],
        "endpoints": {
          "sharedInbox": "http://abel/shared_inbox"
        },
        "manuallyApprovesFollowers": true
      },
      "id": "http://abel/object/019d0bd2-e8c1-75b4-9c1c-d4408702ebcb"
    }
  },
  "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
  "event_type": "outgoing",
  "history_id": null
}
receive.Bob.incoming.Update
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Update",
      "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "cc": [
        "http://abel/actor/meLNHqHpqovydxsGuzDZig/followers"
      ],
      "published": "2026-03-20T15:17:44Z",
      "object": {
        "attachment": null,
        "published": "2026-03-20T15:17:43.102031",
        "@context": [
          "https://www.w3.org/ns/activitystreams",
          "https://w3id.org/security/v1",
          {
            "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
          }
        ],
        "publicKey": {
          "id": "http://abel/actor/meLNHqHpqovydxsGuzDZig#legacy-key-1",
          "owner": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
          "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiVWpGuzIjmKLM/mVmDpZ\nA6QrlT3e8ubJpkayGAuXXQ1YQUuFfeFWip372ciqIDYSTt+/siz6EKopcMJcnt7D\nsmsmi1HoNkmBJzdq26Ce3as/w1letO1i9dDJ9jCg57EnDck0DjsMJlxhtQCDb0Mk\npBJxG4lQbNxhsk6hTpglMLG9jGJnibkUNqRmFR6/Zj43TYNjbQz8h0OADpfVt839\nPGxvrUJ6kF5+u7pFGynH5f7ur6fqcDF9Y67/jVeO0nbMC/nBzn+fh+t4YfdLd69L\nhAJA/aVky16w7Iwjo7G6VrRDVr+yq8eiBn/ajyZQuOcRWixN68E7Rx20aF83N+eB\nPwIDAQAB\n-----END PUBLIC KEY-----\n"
        },
        "id": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
        "type": "Person",
        "inbox": "http://abel/inbox/PHdTiLnObm67oJ_vXR2N1w",
        "outbox": "http://abel/actor/meLNHqHpqovydxsGuzDZig/outbox",
        "followers": "http://abel/actor/meLNHqHpqovydxsGuzDZig/followers",
        "following": "http://abel/actor/meLNHqHpqovydxsGuzDZig/following",
        "preferredUsername": "Alice",
        "name": "Alice",
        "url": [
          {
            "type": "Link",
            "href": "http://abel/@alex",
            "mediaType": "text/html"
          }
        ],
        "identifiers": [
          "acct:Alice@abel",
          "http://abel/actor/meLNHqHpqovydxsGuzDZig"
        ],
        "endpoints": {
          "sharedInbox": "http://abel/shared_inbox"
        },
        "manuallyApprovesFollowers": true
      },
      "id": "http://abel/object/019d0bd2-e8c1-75b4-9c1c-d4408702ebcb"
    }
  },
  "actor": "http://banach/actor/SKhiW_Ow3OtRpk4sJNjKYw",
  "event_type": "incoming",
  "history_id": null
}

when: "Alice" fetches her profile

send.Alice.request.fetch
{
  "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
  "uri": "http://abel/actor/meLNHqHpqovydxsGuzDZig"
}
receive.Alice.response.fetch
{
  "actor": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
  "uri": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
  "data": {
    "attachment": null,
    "published": "2026-03-20T15:17:43.102031",
    "@context": [
      "https://www.w3.org/ns/activitystreams",
      "https://w3id.org/security/v1",
      {
        "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
      }
    ],
    "publicKey": {
      "id": "http://abel/actor/meLNHqHpqovydxsGuzDZig#legacy-key-1",
      "owner": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
      "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiVWpGuzIjmKLM/mVmDpZ\nA6QrlT3e8ubJpkayGAuXXQ1YQUuFfeFWip372ciqIDYSTt+/siz6EKopcMJcnt7D\nsmsmi1HoNkmBJzdq26Ce3as/w1letO1i9dDJ9jCg57EnDck0DjsMJlxhtQCDb0Mk\npBJxG4lQbNxhsk6hTpglMLG9jGJnibkUNqRmFR6/Zj43TYNjbQz8h0OADpfVt839\nPGxvrUJ6kF5+u7pFGynH5f7ur6fqcDF9Y67/jVeO0nbMC/nBzn+fh+t4YfdLd69L\nhAJA/aVky16w7Iwjo7G6VrRDVr+yq8eiBn/ajyZQuOcRWixN68E7Rx20aF83N+eB\nPwIDAQAB\n-----END PUBLIC KEY-----\n"
    },
    "id": "http://abel/actor/meLNHqHpqovydxsGuzDZig",
    "type": "Person",
    "inbox": "http://abel/inbox/PHdTiLnObm67oJ_vXR2N1w",
    "outbox": "http://abel/actor/meLNHqHpqovydxsGuzDZig/outbox",
    "followers": "http://abel/actor/meLNHqHpqovydxsGuzDZig/followers",
    "following": "http://abel/actor/meLNHqHpqovydxsGuzDZig/following",
    "preferredUsername": "Alice",
    "name": "Alice",
    "url": [
      {
        "type": "Link",
        "href": "http://abel/@alex",
        "mediaType": "text/html"
      }
    ],
    "identifiers": [
      "acct:Alice@abel",
      "http://abel/actor/meLNHqHpqovydxsGuzDZig"
    ],
    "endpoints": {
      "sharedInbox": "http://abel/shared_inbox"
    },
    "manuallyApprovesFollowers": true
  }
}

then: The profile contains an url