···7474 ///
7575 /// Slingshot will always return the CID, despite it not being a required
7676 /// response property in the official lexicon.
7777+ ///
7878+ /// TODO: probably actually let it be optional, idk are some pds's weirdly
7979+ /// not returning it?
7780 cid: Option<String>,
7881 /// the record itself as JSON
7982 value: serde_json::Value,
···111114 /// The only error name in the repo.getRecord lexicon is `RecordNotFound`,
112115 /// but the [canonical api docs](https://docs.bsky.app/docs/api/com-atproto-repo-get-record)
113116 /// also list `InvalidRequest`, `ExpiredToken`, and `InvalidToken`. Of
114114- /// these, slingshot will only return `RecordNotFound` or `InvalidRequest`.
117117+ /// these, slingshot will only generate `RecordNotFound` or `InvalidRequest`,
118118+ /// but may return any proxied error code from the upstream repo.
115119 #[oai(status = 400)]
116120 BadRequest(XrpcError),
117117- /// Just using 500 for potentially upstream errors for now
121121+ /// Server errors
118122 #[oai(status = 500)]
119123 ServerError(XrpcError),
120124}
···131135 ///
132136 /// Get a single record from a repository. Does not require auth.
133137 ///
134134- /// See https://docs.bsky.app/docs/api/com-atproto-repo-get-record for the
135135- /// canonical XRPC documentation that this endpoint aims to be compatible
136136- /// with.
138138+ /// See also the [canonical `com.atproto` XRPC documentation](https://docs.bsky.app/docs/api/com-atproto-repo-get-record)
139139+ /// that this endpoint aims to be compatible with.
137140 #[oai(path = "/com.atproto.repo.getRecord", method = "get")]
138141 async fn get_record(
139142 &self,