Rust SDK
Official async Rust client built on reqwest + tokio.
Install
[dependencies]
supervisor-sdk = { git = "https://github.com/Phosphor-gg/supervisor-sdk-rust" }
tokio = { version = "1", features = ["full"] }Grab an API key from your dashboard under API Keys.
Moderate text
use supervisor_sdk::{SupervisorClient, ModerationRequest};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let client = SupervisorClient::new("sk_prod_...")?;
let res = client.moderate(ModerationRequest {
text: Some("text to check".into()),
..Default::default()
}).await?;
println!("{} {:?}", res.flagged, res.labels);
Ok(())
}Methods
client.moderate(ModerationRequest) -> Result<ModerationResponse>
client.moderate_batch(BatchModerationRequest) -> Result<Vec<ModerationResponse>>
client.check_username("user123") -> Result<UsernameCheckResponse>
client.get_labels() -> Result<HashMap<String, String>>Use SupervisorClient::with_base_url(key, url) to point at a custom base URL.
Platform API
Moderate on behalf of your own users with a registered platform's credentials (from the dashboard under Platform API).
use supervisor_sdk::{PlatformClient, PlatformModerationRequest};
let p = PlatformClient::new("client-id", "sk_platform_...")?;
p.provision_user("user@example.com").await?;
let res = p.moderate(PlatformModerationRequest {
user_email: "user@example.com".into(),
text: Some("text to check".into()),
..Default::default()
}).await?;Other methods: list_users, get_user, create_checkout, get_connect_status. See the Platform API guide.