> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# revoke_permission_datasource

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/revoke_permission_datasource.rs#L25-L38)
pub async fn [revoke\_permission\_datasource](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/revoke-permission-datasource.md#method.revoke_permission_datasource)( \&self, name: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), permission: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), datasource\_name: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[RevokePermissionDatasourceResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.RevokePermissionDatasourceResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Revoke a data source permission from a user or role\[DEPRECATED–please use `/revoke/permission` instead] Revokes a data source permission from a user or role.

##### Arguments

<ul>
  <li>`name` - Name of the user or role from which the permission will be revoked. Must be an existing user or role.</li>
  <li>`permission` - Permission to revoke from the user or role.</li>
  <li>`datasource_name` - Name of the data source on which the permission will be revoked. Must be an existing data source, or an empty string to revoke permission from all data sources.</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/revoke_permission_datasource.rs#L55-L75)
pub async fn [revoke\_permission\_datasource\_with\_opts](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/revoke-permission-datasource.md#method.revoke_permission_datasource_with_opts)( \&self, name: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), permission: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), datasource\_name: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), options: [RevokePermissionDatasourceRequestOptions](https://docs.kinetica.com/content/api/rust/generated/api/struct.RevokePermissionDatasourceRequestOptions.md), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[RevokePermissionDatasourceResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.RevokePermissionDatasourceResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Revoke a data source permission from a user or role\[DEPRECATED–please use `/revoke/permission` instead] Revokes a data source permission from a user or role.

##### Arguments

<ul>
  <li>`name` - Name of the user or role from which the permission will be revoked. Must be an existing user or role.</li>
  <li>`permission` - Permission to revoke from the user or role.</li>
  <li>`datasource_name` - Name of the data source on which the permission will be revoked. Must be an existing data source, or an empty string to revoke permission from all data sources.</li>
  <li>`options` - The optional parameters; any left unset take the server’s defaults.</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/revoke_permission_datasource.rs#L78-L89)
pub async fn [revoke\_permission\_datasource\_raw](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/revoke-permission-datasource.md#method.revoke_permission_datasource_raw)( \&self, request: &[RevokePermissionDatasourceRequest](https://docs.kinetica.com/content/api/rust/generated/api/struct.RevokePermissionDatasourceRequest.md), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[RevokePermissionDatasourceResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.RevokePermissionDatasourceResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Sends a pre-built [`RevokePermissionDatasourceRequest`](https://docs.kinetica.com/content/api/rust/generated/api/struct.RevokePermissionDatasourceRequest) to the `/revoke/permission/datasource` endpoint.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/revoke_permission_datasource.rs#L93-L105)
pub async fn [revoke\_permission\_datasource\_from\_url](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/revoke-permission-datasource.md#method.revoke_permission_datasource_from_url)( \&self, url: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), request: &[RevokePermissionDatasourceRequest](https://docs.kinetica.com/content/api/rust/generated/api/struct.RevokePermissionDatasourceRequest.md), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[RevokePermissionDatasourceResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.RevokePermissionDatasourceResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Sends a pre-built [`RevokePermissionDatasourceRequest`](https://docs.kinetica.com/content/api/rust/generated/api/struct.RevokePermissionDatasourceRequest) to a specific worker URL, bypassing HA head-node selection. Used for multi-head access.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.