pub struct ApiEndpointChannelConfig {
pub api_key_hash: String,
pub api_key_prefix: String,
pub session_mode: InvocationSessionMode,
pub rate_limit_per_minute: Option<u32>,
pub auth: Option<AppEndpointAuthConfig>,
}Expand description
Typed api_endpoint channel configuration.
Exposes an app-scoped, execution-only API key over native session routes
mounted under the app (/v1/apps/{app_id}/api/{channel_id}/...). The key is
structurally execution-only: it reaches only these app-mounted routes and
has no path to any management API. The plaintext key is never stored —
only the SHA-256 hex hash and a non-secret display prefix are persisted, and
the plaintext is returned exactly once at create / regenerate time. See
specs/app-api-keys.md.
Fields§
§api_key_hash: StringSHA-256 hex digest of the API key.
api_key_prefix: StringPublic, non-secret display prefix (e.g. evr_app_abc1...).
session_mode: InvocationSessionModeWhether invocations reuse a stable session or create a new one.
rate_limit_per_minute: Option<u32>Optional per-IP rate limit applied to this app’s api_endpoint, in
requests per minute. None or Some(0) disables the per-channel limit
(the global API limit still applies). Mirrors
A2aChannelConfig::rate_limit_per_minute.
auth: Option<AppEndpointAuthConfig>Optional inline auth config for this endpoint. When omitted, the generated per-channel API-key bearer scheme applies.
Trait Implementations§
Source§impl Clone for ApiEndpointChannelConfig
impl Clone for ApiEndpointChannelConfig
Source§fn clone(&self) -> ApiEndpointChannelConfig
fn clone(&self) -> ApiEndpointChannelConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ApiEndpointChannelConfig
impl Debug for ApiEndpointChannelConfig
Source§impl<'de> Deserialize<'de> for ApiEndpointChannelConfig
impl<'de> Deserialize<'de> for ApiEndpointChannelConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ApiEndpointChannelConfig
impl RefUnwindSafe for ApiEndpointChannelConfig
impl Send for ApiEndpointChannelConfig
impl Sync for ApiEndpointChannelConfig
impl Unpin for ApiEndpointChannelConfig
impl UnsafeUnpin for ApiEndpointChannelConfig
impl UnwindSafe for ApiEndpointChannelConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request