Skip to content

Add new primary identifier; resolve works

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,
  "published": "2025-12-19T09:49:26.320394",
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
    }
  ],
  "publicKey": {
    "id": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA#legacy-key-1",
    "owner": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjiE2x4QuMACeM5bG8ckR\nqky0ZCIvIVJGGkhbwTCPDbY+7q2O8b1xjD3IOG13+4AQ/phkxxFXHAS8gFu/Hs6s\n3frf6VsT/o43Dy7WWYNf2Qei5CgtA8x6wldGdzNFlXezkirBQ2UGZTliaM986rnS\nmxOv2vWNhhW/8xbwJyK/3CDPQe7bPrKTN91ECxpvbeBS9BGCSVxhMqHfq3KwoNsH\ncXrk3mrqG9o5bDqNrHv4lt8nklOT3ZJP5pk7dpDTZfEmLLwT1rNGSVYJVlK6Rb4d\nnZLrcsLcEx9xV4KW9B2c7a1ADEyLX0WZTyiehLZhgTDrBOfXJqmW4nu1gKTSBAaf\nUwIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA",
  "type": "Person",
  "inbox": "http://abel/inbox/fVID14-Di2ExyVa5qPRpqQ",
  "outbox": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA/outbox",
  "followers": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA/followers",
  "following": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA/following",
  "preferredUsername": "Alice",
  "name": "Alice",
  "identifiers": [
    "acct:Alice@abel",
    "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA"
  ],
  "endpoints": {
    "sharedInbox": "http://abel/shared_inbox"
  },
  "manuallyApprovesFollowers": true
}

given: "Alice" adds "acct:alex@abel" as a primary identifier

send.Alice.trigger.update_actor
{
  "actor": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA",
  "profile": null,
  "autoFollow": null,
  "actions": [
    {
      "action": "create_identifier",
      "identifier": "acct:alex@abel",
      "primary": true
    }
  ]
}
receive.Alice.outgoing.Update
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Update",
      "actor": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA",
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "cc": [
        "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA/followers"
      ],
      "published": "2025-12-19T09:49:26Z",
      "object": {
        "attachment": null,
        "published": "2025-12-19T09:49:26.320394",
        "@context": [
          "https://www.w3.org/ns/activitystreams",
          "https://w3id.org/security/v1",
          {
            "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
          }
        ],
        "publicKey": {
          "id": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA#legacy-key-1",
          "owner": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA",
          "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjiE2x4QuMACeM5bG8ckR\nqky0ZCIvIVJGGkhbwTCPDbY+7q2O8b1xjD3IOG13+4AQ/phkxxFXHAS8gFu/Hs6s\n3frf6VsT/o43Dy7WWYNf2Qei5CgtA8x6wldGdzNFlXezkirBQ2UGZTliaM986rnS\nmxOv2vWNhhW/8xbwJyK/3CDPQe7bPrKTN91ECxpvbeBS9BGCSVxhMqHfq3KwoNsH\ncXrk3mrqG9o5bDqNrHv4lt8nklOT3ZJP5pk7dpDTZfEmLLwT1rNGSVYJVlK6Rb4d\nnZLrcsLcEx9xV4KW9B2c7a1ADEyLX0WZTyiehLZhgTDrBOfXJqmW4nu1gKTSBAaf\nUwIDAQAB\n-----END PUBLIC KEY-----\n"
        },
        "id": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA",
        "type": "Person",
        "inbox": "http://abel/inbox/fVID14-Di2ExyVa5qPRpqQ",
        "outbox": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA/outbox",
        "followers": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA/followers",
        "following": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA/following",
        "preferredUsername": "alex",
        "name": "alex",
        "identifiers": [
          "acct:alex@abel",
          "acct:Alice@abel",
          "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA"
        ],
        "endpoints": {
          "sharedInbox": "http://abel/shared_inbox"
        },
        "manuallyApprovesFollowers": true
      },
      "id": "http://abel/object/019b3603-a299-7119-88c4-4596fa00ef2c"
    }
  },
  "actor": "http://abel/actor/YE4W_7fAkpNnGfyh0eP7OA",
  "event_type": "outgoing",
  "history_id": null
}

when: One queries webfinger for "acct:alex@abel"

then: The actor URI of "Alice" is returned