app.rocksky.mirror.putMirrorSource
Upsert a mirror source for the authenticated user. Toggling `enabled` notifies the mirror process over NATS so it can start/stop the per-user task without a restart.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | mirror.rocksky.app |
| Indexed |
Checks
Validunlimited-stringdefs.main.input.schema.properties.apiKeyNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.input.schema.properties.externalUsernameNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.input.schema.properties.providerNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Upsert a mirror source for the authenticated user. Toggling `enabled` notifies the mirror process over NATS so it can start/stop the per-user task without a restart.",
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"apiKey": {
"description": "API key / token to be encrypted at rest. Omit to leave the existing key unchanged. Pass an empty string to clear it.",
"type": "string"
},
"enabled": {
"description": "Enable or disable mirroring for this provider.",
"type": "boolean"
},
"externalUsername": {
"description": "External username (Last.fm / ListenBrainz). Required when enabling those providers. Ignored for Teal.fm.",
"type": "string"
},
"provider": {
"description": "One of: lastfm, listenbrainz, tealfm",
"type": "string"
}
},
"required": [
"provider"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"ref": "app.rocksky.mirror.defs#mirrorSourceView",
"type": "ref"
}
},
"type": "procedure"
}
},
"id": "app.rocksky.mirror.putMirrorSource",
"lexicon": 1
}