Skip to content

Add new primary identifier; actor objet

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/9JKRAXNbyyG5g78PtFIhIA#legacy-key-1",
    "owner": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtT/Tv5DUlIWyC1nKewVN\n6pOgh3tKypPH5WpAAvB9h2kGV8NeVlvFxs2yR5NHJvHiKb8jnMsf9C2lT+Pf89Ul\nKPaUlXkUWrzxywHnGzMuNkuXyTgmVtPshjB08D79ukPgsMKon7seAC7MzzTKHFvx\n7zIhaa4S9xuUK7j9AvsWKwEa6hwNvKM3OiR9Gd2R3O8OO3coeyiWV0MKlP2G7IOW\nvCjJLvl2h3eit5H1DrMwpmi4aTpTLj8Du2X4dBpjTucb3sxYjYdOOZ2d/YFUoDc3\nxFbq29uBSYYiHGEXnmx5gdq3IF+iJ8DxMmripkCBFpwTyjWLv0lJU91XqslBNhkp\nXQIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
  "type": "Person",
  "inbox": "http://abel/inbox/Fbdc-q2zR8uLUIMJqXUqRA",
  "outbox": "http://abel/outbox/_o4QM4SFFqeiF2bShiBFlw",
  "followers": "http://abel/followers/QgNYGRyPlArqNsWzeq6QDw",
  "following": "http://abel/following/zNMc8FD6BEBHPqo6-Desjg",
  "preferredUsername": "Alice",
  "name": "Alice",
  "identifiers": [
    "acct:Alice@abel",
    "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA"
  ],
  "endpoints": {
    "sharedInbox": "http://abel/shared_inbox"
  }
}

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

send.Alice.trigger.update_actor
{
  "actor": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
  "profile": null,
  "autoFollow": null,
  "actions": [
    {
      "action": "create_identifier",
      "identifier": "acct:alex@abel",
      "primary": true
    }
  ]
}
receive.Alice.outgoing
{
  "actor": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
  "event_type": "outgoing",
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Update",
      "actor": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "cc": [
        "http://abel/followers/QgNYGRyPlArqNsWzeq6QDw"
      ],
      "published": "2025-02-23T08:45:43Z",
      "object": {
        "attachment": null,
        "@context": [
          "https://www.w3.org/ns/activitystreams",
          "https://w3id.org/security/v1"
        ],
        "publicKey": {
          "id": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA#legacy-key-1",
          "owner": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
          "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtT/Tv5DUlIWyC1nKewVN\n6pOgh3tKypPH5WpAAvB9h2kGV8NeVlvFxs2yR5NHJvHiKb8jnMsf9C2lT+Pf89Ul\nKPaUlXkUWrzxywHnGzMuNkuXyTgmVtPshjB08D79ukPgsMKon7seAC7MzzTKHFvx\n7zIhaa4S9xuUK7j9AvsWKwEa6hwNvKM3OiR9Gd2R3O8OO3coeyiWV0MKlP2G7IOW\nvCjJLvl2h3eit5H1DrMwpmi4aTpTLj8Du2X4dBpjTucb3sxYjYdOOZ2d/YFUoDc3\nxFbq29uBSYYiHGEXnmx5gdq3IF+iJ8DxMmripkCBFpwTyjWLv0lJU91XqslBNhkp\nXQIDAQAB\n-----END PUBLIC KEY-----\n"
        },
        "id": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
        "type": "Person",
        "inbox": "http://abel/inbox/Fbdc-q2zR8uLUIMJqXUqRA",
        "outbox": "http://abel/outbox/_o4QM4SFFqeiF2bShiBFlw",
        "followers": "http://abel/followers/QgNYGRyPlArqNsWzeq6QDw",
        "following": "http://abel/following/zNMc8FD6BEBHPqo6-Desjg",
        "preferredUsername": "alex",
        "name": "alex",
        "identifiers": [
          "acct:alex@abel",
          "acct:Alice@abel",
          "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA"
        ],
        "endpoints": {
          "sharedInbox": "http://abel/shared_inbox"
        }
      },
      "id": "http://abel/object/019531fb-d866-7673-b045-5a958db6a9c7"
    },
    "recipients": {
      "recipients": [
        "https://www.w3.org/ns/activitystreams#Public",
        "http://abel/followers/QgNYGRyPlArqNsWzeq6QDw"
      ],
      "public": true
    }
  }
}

when: "Alice" retrieves the object with id "acct:alex@abel"

send.Alice.request.fetch
{
  "actor": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
  "uri": "acct:alex@abel"
}
receive.Alice.response.fetch
{
  "actor": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
  "uri": "acct:alex@abel",
  "data": {
    "attachment": null,
    "@context": [
      "https://www.w3.org/ns/activitystreams",
      "https://w3id.org/security/v1"
    ],
    "publicKey": {
      "id": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA#legacy-key-1",
      "owner": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
      "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtT/Tv5DUlIWyC1nKewVN\n6pOgh3tKypPH5WpAAvB9h2kGV8NeVlvFxs2yR5NHJvHiKb8jnMsf9C2lT+Pf89Ul\nKPaUlXkUWrzxywHnGzMuNkuXyTgmVtPshjB08D79ukPgsMKon7seAC7MzzTKHFvx\n7zIhaa4S9xuUK7j9AvsWKwEa6hwNvKM3OiR9Gd2R3O8OO3coeyiWV0MKlP2G7IOW\nvCjJLvl2h3eit5H1DrMwpmi4aTpTLj8Du2X4dBpjTucb3sxYjYdOOZ2d/YFUoDc3\nxFbq29uBSYYiHGEXnmx5gdq3IF+iJ8DxMmripkCBFpwTyjWLv0lJU91XqslBNhkp\nXQIDAQAB\n-----END PUBLIC KEY-----\n"
    },
    "id": "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA",
    "type": "Person",
    "inbox": "http://abel/inbox/Fbdc-q2zR8uLUIMJqXUqRA",
    "outbox": "http://abel/outbox/_o4QM4SFFqeiF2bShiBFlw",
    "followers": "http://abel/followers/QgNYGRyPlArqNsWzeq6QDw",
    "following": "http://abel/following/zNMc8FD6BEBHPqo6-Desjg",
    "preferredUsername": "alex",
    "name": "alex",
    "identifiers": [
      "acct:alex@abel",
      "acct:Alice@abel",
      "http://abel/actor/9JKRAXNbyyG5g78PtFIhIA"
    ],
    "endpoints": {
      "sharedInbox": "http://abel/shared_inbox"
    }
  }
}

then: The preferred username is "alex"

then: "acct:alex@abel" is contained in the identifiers array