> ## 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.

# submit_request_raw

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/gpudb.rs#L3847-L3880)

#### pub async fn [submit\_request\_raw](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/submit-request.md#method.submit_request_raw)\<Req, Resp>( \&self, url: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), req\_schema: \&FastSchema, resp\_schema: \&FastSchema, request: [\&Req](https://doc.rust-lang.org/1.98.1/std/primitive.reference.html), ) ->[Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<Resp, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>&#xA;where Req: [KineticaRecord](https://docs.kinetica.com/content/api/rust/trait.KineticaRecord.md) + [Serialize](https://docs.rs/serde_core/1.0.228/serde_core/ser/trait.Serialize.html), Resp: [DeserializeOwned](https://docs.rs/serde_core/1.0.228/serde_core/de/trait.DeserializeOwned.html),

Submits a request directly to a specific URL without HA failover.This is the low-level method used internally by `submit_request` and by bulk inserters that handle their own routing.

##### Arguments

<ul>
  <li>`url` - Full URL including endpoint</li>
  <li>`req_schema` - Pre-parsed Avro schema for the request</li>
  <li>`resp_schema` - Pre-parsed Avro schema for the response</li>
  <li>`request` - The request object</li>
</ul>

##### Performance

This is the fastest method, saving \~5-10ms per request by avoiding all schema parsing. Critical for bulk insert performance.

##### Compression

The payload is Snappy-compressed only when `options.use_snappy` is true and the request type opts in via [`KineticaRecord::use_compression`](https://docs.kinetica.com/content/api/rust/trait.KineticaRecord#method.use_compression), which the generator enables for `/insert/records` and `/update/records` alone. Compressing a two-field `has_table` request costs more than it saves.Payloads above [`MAX_SNAPPY_COMPRESSION_SIZE`](https://docs.kinetica.com/content/api/rust/gpudb/index#constant.MAX_SNAPPY_COMPRESSION_SIZE) are sent uncompressed.


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