Register an existing aggregator DID with this Coves instance. Aggregators must first create their own DID via PLC directory, then call this endpoint to register. Domain ownership is verified via .well-known/atproto-did file.
Input
application/jsondid
stringdid
Required
DID of the aggregator (did:plc or did:web format)
domain
string
Required
Hostname where the aggregator is hosted, without scheme (e.g., 'rss-bot.example.com'). Must serve a .well-known/atproto-did file containing the DID.
maxLength: 253 bytesOutput
application/jsondid
stringdid
Required
DID of the registered aggregator
handle
string
Required
Handle extracted from DID document
message
string
Optional
Success message with next steps
Errors
InvalidDID
DID format is invalid or not did:plc or did:web format DomainVerificationFailed
Could not verify domain ownership via .well-known/atproto-did or DID mismatch AlreadyRegistered
This aggregator DID is already registered with this instance DIDResolutionFailed
Could not resolve DID document to extract handle and PDS URL RegistrationFailed
Internal server error occurred during registration Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"did",
"domain"
],
"properties": {
"did": {
"type": "string",
"format": "did",
"description": "DID of the aggregator (did:plc or did:web format)"
},
"domain": {
"type": "string",
"maxLength": 253,
"description": "Hostname where the aggregator is hosted, without scheme (e.g., 'rss-bot.example.com'). Must serve a .well-known/atproto-did file containing the DID."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "InvalidDID",
"description": "DID format is invalid or not did:plc or did:web format"
},
{
"name": "DomainVerificationFailed",
"description": "Could not verify domain ownership via .well-known/atproto-did or DID mismatch"
},
{
"name": "AlreadyRegistered",
"description": "This aggregator DID is already registered with this instance"
},
{
"name": "DIDResolutionFailed",
"description": "Could not resolve DID document to extract handle and PDS URL"
},
{
"name": "RegistrationFailed",
"description": "Internal server error occurred during registration"
}
],
"output": {
"schema": {
"type": "object",
"required": [
"did",
"handle"
],
"properties": {
"did": {
"type": "string",
"format": "did",
"description": "DID of the registered aggregator"
},
"handle": {
"type": "string",
"maxLength": 512,
"description": "Handle extracted from DID document"
},
"message": {
"type": "string",
"maxLength": 1000,
"description": "Success message with next steps"
}
}
},
"encoding": "application/json"
},
"description": "Register an existing aggregator DID with this Coves instance. Aggregators must first create their own DID via PLC directory, then call this endpoint to register. Domain ownership is verified via .well-known/atproto-did file."
}