fyi.opensocial.migratePrepare

On the source host: start moving the group to another host. Answers with a service token signed by the group, for the destination's migrateReceive; the group's handle, address and spaces; and a token, good for an hour, with which the destination pulls the group from here (migrateExport). Requires group.configure.

Details · procedure
Kindprocedure
Authorityopensocial.fyi
Indexed

Procedure

procedure · POST

Input

application/json

destDid

requiredstring · did

The destination host's service DID.

group

requiredstring · did

Output

application/json

exportToken

requiredstring

For migrateExport, for an hour.

serviceJwt

requiredstring

snapshot

requiredunknown

{handle, address, spaces: [uri]}: the group's handle and address, and every space the group holds, each by its URI, as a string. For migrateReceive, as it is.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • On the destination host: take the group in. Pulls it from the host it's leaving with migratePrepare's token (its public repo, what the host it leaves keeps of each space as its authority and the group's repo there, its files), checked against the group's current key, and keeps it switched off. The caller must hold group.configure by the group's own records as they arrive. Answers with what the PLC operation should name.

  • On the source host, for the destination of a move migratePrepare started: a part of the group nothing public serves whole. `meta` is what this host keeps of a space as its authority (whether anyone may read it, who writes there, and who may beyond its access record), as JSON, `repo` the group's own repo in a space (as com.atproto.space.getRepo does), `blobs` the list of its files and `blob` one of them. Authorized by migratePrepare's token, for an hour.

  • Source host: sign and submit the PLC operation repointing the group's DID document at the destination, and relinquish the group. Requires group.configure.

  • Start moving the account the caller signed in to move (getAccountMove) here, to become a group they run: the host asks its server for its token for this host, copies it as importAccount does, brings its spaces as importAccountSpace takes them, and asks its server to email the code that lets its identity move (finishAccountMove). Started again, it starts over.

  • Start moving an account that already exists on the network, on any server, here to become a group: check the account's proof that it hands its DID to this host, make it here switched off with new keys, and copy its whole repo and its files from its server. Answers with the credentials the account's PLC operation should name; once its server has signed one, completeImport finishes the move. The caller becomes the group's admin. Only a did:plc account, and never the caller's own. Starting again fo