2021-10-06 10:48:08 +02:00

44 lines
1.2 KiB
Rust

//! [POST /_matrix/client/r0/account/3pid/delete](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-account-3pid-delete)
use ruma_api::ruma_api;
use ruma_common::thirdparty::Medium;
use super::ThirdPartyIdRemovalStatus;
ruma_api! {
metadata: {
description: "Delete a 3PID from a user's account on an identity server.",
method: POST,
name: "delete_3pid",
path: "/_matrix/client/r0/account/3pid/delete",
rate_limited: false,
authentication: AccessToken,
}
request: {
/// Identity server to delete from.
#[serde(skip_serializing_if = "Option::is_none")]
pub id_server: Option<&'a str>,
/// Medium of the 3PID to be removed.
pub medium: Medium,
/// Third-party address being removed.
pub address: &'a str,
}
response: {
/// Result of unbind operation.
pub id_server_unbind_result: ThirdPartyIdRemovalStatus,
}
error: crate::Error
}
impl<'a> Request<'a> {
/// Creates a new `Request` with the given medium and address.
pub fn new(medium: Medium, address: &'a str) -> Self {
Self { id_server: None, medium, address }
}
}