Webhooks API Configuration
Request
POST https://api.fivetran.com/v1/connections
{ "group_id": "group_id", "service": "webhooks", "trust_certificates": true, "trust_fingerprints": true, "run_setup_tests": true, "paused": false, "pause_after_trial": false, "sync_frequency": 1440, "data_delay_sensitivity": "NORMAL", "data_delay_threshold": 0, "daily_sync_time": "14:00", "schedule_type": "auto", "connect_card_config": { "redirect_uri": "https://your.site/path", "hide_setup_guide": true }, "proxy_agent_id": "proxy_agent_id", "private_link_id": "private_link_id", "networking_method": "Directly", "hybrid_deployment_agent_id": "hybrid_deployment_agent_id", "destination_configuration": { "virtual_warehouse": "virtual_warehouse" }, "destination_schema_names": "SOURCE_NAMING", "config": { "signature_encoding": "BASE64 | HEXA_DECIMAL", "bucket_service": "S3 | AZURE | GCS | Fivetran", "sync_format": "Packed | Unpacked", "gcs_bucket": "string", "auth_secret": "My$ecret@12345678", "auth_header_key": "string", "s3_bucket": "your_bucket_name", "auth_method": "HMAC | TOKEN_BASED | NONE", "s3_role_arn": "arn::your_role_arn", "blob_sas_url": "string", "algorithm": "SHA_512 | SHA_256 | SHA_224 | INFER_FROM_HEADER | SHA_1 | SHA_384 | MD5", "schema": "schema_name", "table": "table_name" } }
Config parameters
| Name | Description |
|---|---|
signature_encoding | This is used in HMAC auth method to decode and verify the signature. Supported encodings BASE64 and HEXA_DECIMAL. Default: BASE64 |
bucket_service | Whether to store the events in Fivetran's container service or your S3 bucket. Default value: Fivetran. |
sync_format | The webhooks sync format. Default value: Unpacked. Unpacked messages must be valid JSON. |
gcs_bucket | The GCS bucket name. Required if bucket_service is set to GCS. |
auth_secret | The secret you want to use for HMAC/token-based auth methods |
auth_header_key | Set if you use HMAC/token-based auth methods. This is used to retrieve a key in headers |
s3_bucket | The S3 bucket name. Required if bucket_service is set to S3. |
auth_method | The authentication mechanism you want to use |
s3_role_arn | The Role ARN required for authentication. Required if bucket_service is set to S3. |
blob_sas_url | The blob SAS URL of your Azure container. Required if bucket_service is set to AZURE. |
algorithm | HMAC algorithm used for generating the HMAC signature. Supported algorithms INFER_FROM_HEADER, MD5, SHA_1, SHA_224, SHA_256, SHA_384, SHA_512. Default: SHA_256 |
schema (required) | Destination schema name. Schema name is permanent and cannot be changed after connection creation |
table (required) | Destination table. Table is permanent and cannot be changed after connection creation |
Authorization
There are five ways to authorize this connector type:
- AZURE: By specifying the
bucket_serviceas"AZURE"and the value for theblob_sas_urlparameter in the request.POST https://api.fivetran.com/v1/connections{ "service": "webhooks", "group_id": "group_id", "config": { "blob_sas_url": "string", "bucket_service": "AZURE" } } - GCS: By specifying the
bucket_serviceas"GCS"and the value for thegcs_bucketparameter in the request.POST https://api.fivetran.com/v1/connections{ "service": "webhooks", "group_id": "group_id", "config": { "gcs_bucket": "string", "bucket_service": "GCS" } }Ifbucket_serviceis set toGCS, you must share your GCS bucket with Fivetran's service account using the account's auto-generated email address in the following format:g-[group_id]@fivetran-production.iam.gserviceaccount.comwhere[group_id]is the connector's group ID. - S3: By specifying the
bucket_serviceas"S3"and the values for thes3_bucketands3_role_arnparameters in the request.POST https://api.fivetran.com/v1/connections{ "service": "webhooks", "group_id": "group_id", "config": { "s3_bucket": "your_bucket_name", "s3_role_arn": "arn::your_role_arn", "bucket_service": "S3" } } - Fivetran's container service: By specifying the
bucket_serviceas"Fivetran"in the request.POST https://api.fivetran.com/v1/connections{ "service": "webhooks", "group_id": "group_id", "config": { "bucket_service": "Fivetran" } } By using the Connect Card or the Fivetran dashboard.