pub enum WebhookSubscriptionRequest {
Variant0(WebhookSubscriptionRequestVariant0),
Variant1(WebhookSubscriptionRequestVariant1),
}Expand description
Request to create a new webhook subscription with support for both traditional single-label and multi-label filtering formats.
JSON schema
{
"description": "Request to create a new webhook subscription with support for both traditional single-label\nand multi-label filtering formats.\n",
"type": "object",
"oneOf": [
{
"title": "Traditional single-label format",
"not": {
"required": [
"labels"
]
},
"required": [
"eventTypes",
"isEnabled",
"labelKey",
"labelValue",
"target"
]
},
{
"title": "Multi-label format with total overlap logic",
"not": {
"anyOf": [
{
"required": [
"labelKey"
]
},
{
"required": [
"labelValue"
]
}
]
},
"required": [
"eventTypes",
"isEnabled",
"labels",
"target"
]
}
],
"properties": {
"description": {
"description": "Description of the webhook subscription.",
"examples": [
"Subscription for token transfer events"
],
"type": "string"
},
"eventTypes": {
"description": "Types of events to subscribe to. Event types follow a three-part dot-separated format:\nservice.resource.verb (e.g., \"onchain.activity.detected\", \"wallet.activity.detected\", \"onramp.transaction.created\").\nThe subscription will only receive events matching these types AND the label filter(s).\n",
"examples": [
[
"onchain.activity.detected"
]
],
"type": "array",
"items": {
"type": "string"
}
},
"isEnabled": {
"description": "Whether the subscription is enabled.",
"examples": [
true
],
"type": "boolean"
},
"labelKey": {
"description": "Label key for filtering events. Each subscription filters on exactly one (labelKey, labelValue) pair\nin addition to the event types. Only events matching both the event types AND this label filter will be delivered.\nNOTE: Use either (labelKey + labelValue) OR labels, not both.\n",
"examples": [
"contract_address"
],
"type": "string"
},
"labelValue": {
"description": "Label value for filtering events. Must correspond to the labelKey (e.g., contract address for contract_address key).\nOnly events with this exact label value will be delivered.\nNOTE: Use either (labelKey + labelValue) OR labels, not both.\n",
"examples": [
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
],
"type": "string"
},
"labels": {
"description": "Multi-label filters using total overlap logic. Total overlap means the subscription will only trigger when\nan event contains ALL the key-value pairs specified here. Additional labels on\nthe event are allowed and will not prevent matching.\nNOTE: Use either labels OR (labelKey + labelValue), not both.\n",
"examples": [
{
"contract_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"env": "dev",
"team": "payments"
}
],
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"metadata": {
"description": "Additional metadata for the subscription.",
"examples": [
{
"custom_field": "custom_value",
"webhook_version": "v1"
}
],
"type": "object",
"additionalProperties": true
},
"target": {
"$ref": "#/components/schemas/WebhookTarget"
}
}
}Variants§
Variant0(WebhookSubscriptionRequestVariant0)
Variant1(WebhookSubscriptionRequestVariant1)
Trait Implementations§
Source§impl Clone for WebhookSubscriptionRequest
impl Clone for WebhookSubscriptionRequest
Source§fn clone(&self) -> WebhookSubscriptionRequest
fn clone(&self) -> WebhookSubscriptionRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WebhookSubscriptionRequest
impl Debug for WebhookSubscriptionRequest
Source§impl<'de> Deserialize<'de> for WebhookSubscriptionRequest
impl<'de> Deserialize<'de> for WebhookSubscriptionRequest
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&WebhookSubscriptionRequest> for WebhookSubscriptionRequest
impl From<&WebhookSubscriptionRequest> for WebhookSubscriptionRequest
Source§fn from(value: &WebhookSubscriptionRequest) -> Self
fn from(value: &WebhookSubscriptionRequest) -> Self
Converts to this type from the input type.
Source§impl From<WebhookSubscriptionRequestVariant0> for WebhookSubscriptionRequest
impl From<WebhookSubscriptionRequestVariant0> for WebhookSubscriptionRequest
Source§fn from(value: WebhookSubscriptionRequestVariant0) -> Self
fn from(value: WebhookSubscriptionRequestVariant0) -> Self
Converts to this type from the input type.
Source§impl From<WebhookSubscriptionRequestVariant1> for WebhookSubscriptionRequest
impl From<WebhookSubscriptionRequestVariant1> for WebhookSubscriptionRequest
Source§fn from(value: WebhookSubscriptionRequestVariant1) -> Self
fn from(value: WebhookSubscriptionRequestVariant1) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for WebhookSubscriptionRequest
impl RefUnwindSafe for WebhookSubscriptionRequest
impl Send for WebhookSubscriptionRequest
impl Sync for WebhookSubscriptionRequest
impl Unpin for WebhookSubscriptionRequest
impl UnwindSafe for WebhookSubscriptionRequest
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
Mutably borrows from an owned value. Read more