Aller directement au contenu principal

Update a Stream – Streams REST API

Mis à jour le
Jul 31, 2026

Présentation générale

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

remarque

Le network, dataset, et 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}

Paramètres de chemin d'accès

ParamètreTypeObligatoireDescription
idchaîne de caractèresOuiThe unique identifier (UUID) of the stream to update

Paramètres de requête

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

ParamètreTypeObligatoireDescription
nomchaîne de caractèresNonA new name for your stream
filter_functionchaîne de caractèresNonBase64-encoded JavaScript filter function
start_rangeentierNonStarting block number
end_rangeentierNonEnding block number
dataset_batch_sizeentierNonNumber of blocks to batch per delivery
statutchaîne de caractèresNonactive or paused
elastic_batch_enabledbooléenNonAuto-adjust batch size to 1 near chain tip
fix_block_reorgsentierNon1 to enable reorg detection
keep_distance_from_tipentierNonBlocks to stay behind chain tip
notification_emailchaîne de caractèresNonEmail for stream termination alerts
destinationchaîne de caractèresNonwebhook, s3, azure, or postgres
destination_attributesobjetNonConfiguration for selected destination
extra_destinationstableauNonAdditional 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.

ParamètreTypeObligatoireDescription
urlchaîne de caractèresOuiWebhook endpoint URL
compressionchaîne de caractèresOuinone or gzip
max_retryentierOuiMax retry attempts
retry_interval_secentierOuiSeconds between retries
post_timeout_secentierOuiRequest timeout in seconds
headersobjetNonCustom headers as key-value pairs
mtlsbooléenNonEnable 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_pemchaîne de caractèresNonCA 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
}
}'

Réponse

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

Champs de réponse

ChampTypeDescription
idchaîne de caractèresUnique stream identifier (UUID)
nomchaîne de caractèresStream name
networkchaîne de caractèresBlockchain network
datasetchaîne de caractèresDataset type
regionchaîne de caractèresDeployment region
filter_functionchaîne de caractèresBase64-encoded filter function (if configured)
start_rangeentierStarting block number
end_rangeentierEnding block number (null for continuous)
dataset_batch_sizeentierNumber of blocks per batch
elastic_batch_enabledbooléenWhether elastic batching is enabled
fix_block_reorgsentierReorg detection setting (1 = enabled)
keep_distance_from_tipentierBlocks to stay behind chain tip
destinationchaîne de caractèresDestination type (webhook, s3, azure, postgres)
destination_attributesobjetDestination configuration (varies by type)
statutchaîne de caractèresStream status (active or paused)
séquenceentierLast delivered block from the data range
current_hashchaîne de caractèresHash of the current block being processed
notification_emailchaîne de caractèresEmail for stream termination alerts
extra_destinationstableauAdditional destinations (if configured)
created_atchaîne de caractèresStream creation timestamp (ISO 8601)
date_de_mise_à_jourchaîne de caractèresLast update timestamp (ISO 8601)
remarque

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