pub trait Endpoint {
// Required methods
fn method(&self) -> Method;
fn endpoint(&self) -> Cow<'static, str>;
// Provided methods
fn parameters(&self) -> QueryParams { ... }
fn body(&self) -> Result<Vec<u8>, BodyError> { ... }
}