Ga naar de hoofdinhoud

Update a Stream – Streams REST API

Bijgewerkt op
Jul 31, 2026

Overzicht

Updates the configuration of an existing stream. Use this endpoint to modify a stream's name, filter function, destination, destination attributes, extra destinations, batch size, metadata settings, reorg handling, distance-from-tip, notification email, and other configuration options without needing to delete and recreate the stream.

Key capabilities:

  • Change webhook URL or destination credentials
  • Update filter functions on-the-fly
  • Switch compression settings
  • Adjust retry parameters
  • Add or modify extra destinations
  • Update batch size and elastic batching settings

note

De network, dataset, en region fields cannot be changed after stream creation. To change these, create a new stream instead.

Endpoint

Send a PATCH request to update an existing stream.

PATCH https://api.quicknode.com/streams/rest/v1/streams/{id}

Padparameters

ParameterTypeRequiredBeschrijving
idtekenreeksJaThe unique identifier (UUID) of the stream to update

Request Parameters

All body parameters are optional. Only include the fields you want to update.

ParameterTypeRequiredBeschrijving
naamtekenreeksNeeA new name for your stream
filter_functiontekenreeksNeeBase64-encoded JavaScript filter function
start_rangegeheel getalNeeStarting block number
end_rangegeheel getalNeeEnding block number
dataset_batch_sizegeheel getalNeeNumber of blocks to batch per delivery
statustekenreeksNeeactive or paused
elastic_batch_enabledbooleaanse waardeNeeAuto-adjust batch size to 1 near chain tip
fix_block_reorgsgeheel getalNee1 to enable reorg detection
keep_distance_from_tipgeheel getalNeeBlocks to stay behind chain tip
notification_emailtekenreeksNeeEmail for stream termination alerts
destinationtekenreeksNeewebhook, s3, azure, or postgres
destination_attributesobjectNeeConfiguration for selected destination
extra_destinationsarrayNeeAdditional destinations

Bestemmingskenmerken

When updating destination attributes, the configuration options vary based on the selected destination type. Select a tab below to view the attributes for each destination.

ParameterTypeRequiredBeschrijving
urltekenreeksJaWebhook endpoint URL
compressiontekenreeksJanone or gzip
max_retrygeheel getalJaMax retry attempts
retry_interval_secgeheel getalJaSeconds between retries
post_timeout_secgeheel getalJaRequest timeout in seconds
headersobjectNeeCustom headers as key-value pairs
mtlsbooleaanse waardeNeeEnable mutual TLS: Quicknode authenticates to your endpoint with its client certificate. Requires an HTTPS URL. Send false explicitly to disable. See the Webhook destination page for server setup.
ssl_ca_pemtekenreeksNeeCA certificate (PEM) used to verify your endpoint's server certificate when it is signed by a private CA. Send an empty string to clear.

For mTLS server configuration and how to download the Quicknode CA certificate, see Mutual TLS on the Webhook destination page.

Example Request

curl -X PATCH "https://api.quicknode.com/streams/rest/v1/streams/f6ad6459-b5ad-4183-b370-1c1388e47e83" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"name": "Updated Stream Name",
"destination_attributes": {
"url": "https://new-webhook.site",
"compression": "gzip",
"max_retry": 5,
"retry_interval_sec": 2,
"post_timeout_sec": 15,
"mtls": true
}
}'

Antwoord

On success, the API returns the updated stream object with all configuration and status information.

{
"id": "f6ad6459-b5ad-4183-b370-1c1388e47e83",
"name": "Updated Stream Name",
"network": "ethereum-mainnet",
"dataset": "block",
"region": "usa_east",
"filter_function": "ZnVuY3Rpb24gbWFpbihkYXRhKSB7Li4ufQ==",
"start_range": 100,
"end_range": 200,
"dataset_batch_size": 1,
"elastic_batch_enabled": true,
"fix_block_reorgs": 0,
"keep_distance_from_tip": 0,
"destination": "webhook",
"destination_attributes": {
"url": "https://new-webhook.site",
"compression": "gzip",
"max_retry": 5,
"retry_interval_sec": 2,
"post_timeout_sec": 15,
"mtls": true,
"security_token": "qn_xxxxxxxxxxxxxx"
},
"status": "active",
"sequence": 150,
"current_hash": "0x1234567890abcdef...",
"notification_email": null,
"extra_destinations": [],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T14:00:00Z"
}

Response Fields

FieldTypeBeschrijving
idtekenreeksUnique stream identifier (UUID)
naamtekenreeksStream name
networktekenreeksBlockchain network
datasettekenreeksDataset type
regiontekenreeksDeployment region
filter_functiontekenreeksBase64-encoded filter function (if configured)
start_rangegeheel getalStarting block number
end_rangegeheel getalEnding block number (null for continuous)
dataset_batch_sizegeheel getalNumber of blocks per batch
elastic_batch_enabledbooleaanse waardeWhether elastic batching is enabled
fix_block_reorgsgeheel getalReorg detection setting (1 = enabled)
keep_distance_from_tipgeheel getalBlocks to stay behind chain tip
destinationtekenreeksDestination type (webhook, s3, azure, postgres)
destination_attributesobjectDestination configuration (varies by type)
statustekenreeksStream status (active or paused)
reeksgeheel getalLast delivered block from the data range
current_hashtekenreeksHash of the current block being processed
notification_emailtekenreeksEmail for stream termination alerts
extra_destinationsarrayAdditional destinations (if configured)
created_attekenreeksStream creation timestamp (ISO 8601)
bijgewerkt_optekenreeksLast update timestamp (ISO 8601)
note

Sensitive fields like secret_key (S3), sas_token (Azure), and password (PostgreSQL) are not returned in the response for security reasons.