Inbound Webhooks

Inbound https webhooks are a flexible and easy way to ingest data from any system that can use HTTPS.

Introduction

Inbound webhooks in Couchdrop provide a simple and secure way to upload data directly into your storage environment over HTTPS. Instead of relying on traditional file transfer protocols or manual uploads, customers can push data to Couchdrop programmatically using standard POST requests. This makes it easy to integrate Couchdrop into existing workflows, applications, or automation pipelines without needing specialized client software.

Couchdrop’s inbound webhooks are flexible and support a wide range of payloads, including binary files, JSON documents, and raw request bodies. Whether you’re sending log files, structured data, or application-generated artifacts, Couchdrop ensures that the incoming content is captured reliably and routed to your configured storage destination. This approach enables seamless ingestion of data at scale while maintaining the simplicity and security of HTTPS-based transfer.

Requirements

To setup and use a inbound webhook for data upload you will need the following:

  • Access to Couchdrop, with the appropriate user rights. Talk to your admin to get these.

  • A folder or details for a cloud storage drive and rights to manage it

  • Knowledge about what kind of data you are sending and any authentication requirements

Configuring an Inbound Webhook

To create the inbox, follow the steps below:

  1. Login to Couchdrop and click Inbound Webhooks

  2. Click Create New. If you don't see this option, talk to your administrator.

  3. Provide a name for the web hook endpoint. This is simply so you can identify it.

  4. Select a location for files to arrive. This is the place where user delivered files will be located. You can choose an existing folder, or configure a new cloud storage connection here. Once you are done, click Save and Continue.

  5. Optionally provide an authentication token and options

  6. Click Save and Continue

Using an Inbound Webhook to upload data

Example 1: Upload via CURL

To upload via curl:

curl -v -F [email protected] 
-H "Authorization: Bearer <token>" 
https://my.couchdrop.io/webhook/0479ae21-a677-49bb-9937-d5841b3b9ed1

Example 2: Upload with Python using a stream

import requests

binary_file_path = "/Users/donald/testing/trophy.jpg"
webhook_id = "<webhook_id>"
token = "<token>"

with open(binary_file_path, 'rb') as f:
 data = f.read()
    
 res = requests.post(
     url='https://my.couchdrop.io/webhook/' + webhook_id, data=data,
     headers={
      'filename': 'trophy_webhook.jpg', 
      'Content-Type': 'application/octet-stream', 
      'Authorization': 'Bearer ' + token
     })

Example 3: Upload JSON data to a file

curl -H "Filename: json_test_file.json" 
-H "Content-Type: application/json" 
-XPOST https://my.couchdrop.io/webhook/0479ae21-a677-49bb-9937-d5841b3b9ed1 
-d '{"id": "dasflk34masd", "event": "purchase", "customer": "testaccount"}'

Last updated

Was this helpful?