Zum Hauptinhalt springen

Update a Stream – Streams REST API

Aktualisiert am
Jul 31, 2026

Übersicht

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

Die network, dataset, und 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}

Pfadparameter

ParameterTypErforderlichBeschreibung
idZeichenketteJaThe unique identifier (UUID) of the stream to update

Anfrageparameter

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

ParameterTypErforderlichBeschreibung
NameZeichenketteNeinA new name for your stream
filter_functionZeichenketteNeinBase64-encoded JavaScript filter function
start_rangeGanzzahlNeinStarting block number
end_rangeGanzzahlNeinEnding block number
dataset_batch_sizeGanzzahlNeinNumber of blocks to batch per delivery
StatusZeichenketteNeinactive or paused
elastic_batch_enabledbooleschNeinAuto-adjust batch size to 1 near chain tip
fix_block_reorgsGanzzahlNein1 to enable reorg detection
keep_distance_from_tipGanzzahlNeinBlocks to stay behind chain tip
notification_emailZeichenketteNeinEmail for stream termination alerts
destinationZeichenketteNeinwebhook, s3, azure, or postgres
destination_attributesObjektNeinConfiguration for selected destination
extra_destinationsArrayNeinAdditional destinations

Destination Attributes

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.

ParameterTypErforderlichBeschreibung
urlZeichenketteJaWebhook endpoint URL
compressionZeichenketteJanone or gzip
max_retryGanzzahlJaMax retry attempts
retry_interval_secGanzzahlJaSeconds between retries
post_timeout_secGanzzahlJaRequest timeout in seconds
headersObjektNeinCustom headers as key-value pairs
mtlsbooleschNeinEnable 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_pemZeichenketteNeinCA 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
}
}'

Antwort

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"
}

Antwortfelder

FeldTypBeschreibung
idZeichenketteUnique stream identifier (UUID)
NameZeichenketteStream name
networkZeichenketteBlockchain network
datasetZeichenketteDataset type
regionZeichenketteDeployment region
filter_functionZeichenketteBase64-encoded filter function (if configured)
start_rangeGanzzahlStarting block number
end_rangeGanzzahlEnding block number (null for continuous)
dataset_batch_sizeGanzzahlNumber of blocks per batch
elastic_batch_enabledbooleschWhether elastic batching is enabled
fix_block_reorgsGanzzahlReorg detection setting (1 = enabled)
keep_distance_from_tipGanzzahlBlocks to stay behind chain tip
destinationZeichenketteDestination type (webhook, s3, azure, postgres)
destination_attributesObjektDestination configuration (varies by type)
StatusZeichenketteStream status (active or paused)
sequenceGanzzahlLast delivered block from the data range
current_hashZeichenketteHash of the current block being processed
notification_emailZeichenketteEmail for stream termination alerts
extra_destinationsArrayAdditional destinations (if configured)
created_atZeichenketteStream creation timestamp (ISO 8601)
aktualisiert_amZeichenketteLast 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.