mirror of
https://tangled.org/evan.jarrett.net/at-container-registry
synced 2026-09-19 00:34:16 +00:00
3.3 KiB
3.3 KiB
Hold Service XRPC Endpoints
This document lists all XRPC endpoints implemented in the Hold service (pkg/hold/).
PDS Endpoints (pkg/hold/pds/xrpc.go)
Public (No Auth Required)
| Endpoint | Method | Description |
|---|---|---|
/xrpc/_health |
GET | Health check |
/xrpc/com.atproto.server.describeServer |
GET | Server metadata |
/xrpc/com.atproto.repo.describeRepo |
GET | Repository information |
/xrpc/com.atproto.repo.getRecord |
GET | Retrieve a single record |
/xrpc/com.atproto.repo.listRecords |
GET | List records in a collection (paginated) |
/xrpc/com.atproto.sync.listRepos |
GET | List all repositories |
/xrpc/com.atproto.sync.getRecord |
GET | Get record as CAR file |
/xrpc/com.atproto.sync.getRepo |
GET | Full repository as CAR file |
/xrpc/com.atproto.sync.getRepoStatus |
GET | Repository hosting status |
/xrpc/com.atproto.sync.subscribeRepos |
GET | WebSocket firehose |
/xrpc/com.atproto.identity.resolveHandle |
GET | Resolve handle to DID |
/xrpc/app.bsky.actor.getProfile |
GET | Get actor profile |
/xrpc/app.bsky.actor.getProfiles |
GET | Get multiple profiles |
/.well-known/did.json |
GET | DID document |
/.well-known/atproto-did |
GET | DID for handle resolution |
Conditional Auth (based on captain.public)
| Endpoint | Method | Description |
|---|---|---|
/xrpc/com.atproto.sync.getBlob |
GET/HEAD | Get blob (routes OCI vs ATProto) |
Owner/Crew Admin Required
| Endpoint | Method | Description |
|---|---|---|
/xrpc/com.atproto.repo.deleteRecord |
POST | Delete a record |
/xrpc/com.atproto.repo.uploadBlob |
POST | Upload ATProto blob |
DPoP Auth Required
| Endpoint | Method | Description |
|---|---|---|
/xrpc/io.atcr.hold.requestCrew |
POST | Request crew membership |
OCI Multipart Upload Endpoints (pkg/hold/oci/xrpc.go)
All require blob:write permission via service token:
| Endpoint | Method | Description |
|---|---|---|
/xrpc/io.atcr.hold.initiateUpload |
POST | Start multipart upload |
/xrpc/io.atcr.hold.getPartUploadUrl |
POST | Get presigned URL for part |
/xrpc/io.atcr.hold.uploadPart |
PUT | Direct buffered part upload |
/xrpc/io.atcr.hold.completeUpload |
POST | Finalize multipart upload |
/xrpc/io.atcr.hold.abortUpload |
POST | Cancel multipart upload |
/xrpc/io.atcr.hold.notifyManifest |
POST | Notify manifest push (creates layer records + optional Bluesky post) |
Standard ATProto Endpoints (excluding io.atcr.hold.*)
| Endpoint |
|---|
| /xrpc/_health |
| /xrpc/com.atproto.server.describeServer |
| /xrpc/com.atproto.repo.describeRepo |
| /xrpc/com.atproto.repo.getRecord |
| /xrpc/com.atproto.repo.listRecords |
| /xrpc/com.atproto.repo.deleteRecord |
| /xrpc/com.atproto.repo.uploadBlob |
| /xrpc/com.atproto.sync.listRepos |
| /xrpc/com.atproto.sync.getRecord |
| /xrpc/com.atproto.sync.getRepo |
| /xrpc/com.atproto.sync.getRepoStatus |
| /xrpc/com.atproto.sync.getBlob |
| /xrpc/com.atproto.sync.subscribeRepos |
| /xrpc/com.atproto.identity.resolveHandle |
| /xrpc/app.bsky.actor.getProfile |
| /xrpc/app.bsky.actor.getProfiles |
| /.well-known/did.json |
| /.well-known/atproto-did |