Skip to content
Last updated

Quick Reference

One-page lookup for all technical specifications. Explanations live in the linked pages.

Delivery Specifications

SpecificationValue
ProtocolHTTPS only (valid CA-issued certificate, TLS 1.2+)
MethodPOST
Content typeapplication/json
Response timeout15 seconds
Success codes200 OK, 202 Accepted, 204 No Content; anything else retries
Retry pattern5→10→20→40→80 min, repeating; max delay 80 min (details)
Deregistration thresholdPer webhook (event type): 25 consecutive failures and 2+ days elapsed; any success resets both
SignatureHMAC-SHA256 over raw body, base64-encoded, using your Signing Secret
Retry payloadIdentical across retries; only delivery headers change

Source IP Addresses (for allowlisting)

Static egress IPs, guaranteed not to change. Allowlist all four; the reserved pair may come into use without notice.

StatusIP addresses
Active3.19.83.191
18.118.90.214
Reserved32.188.140.83
35.80.104.162

Request Headers

HeaderPurpose
X-Echo-Hmac-SHA256Payload signature; verify with your Signing Secret
X-Echo-TimestampCurrent attempt timestamp (UTC ISO 8601)
X-Echo-Timestamp-OriginalFirst attempt timestamp
X-Echo-Retry-Attempt0 initial, increments per retry
X-Echo-Webhook-IdUnique event Id; use for idempotency
AuthorizationOAuth bearer token or Basic Auth credentials, if configured
API key / custom headersAs configured at registration

Details and retry behavior: Receiving & Verifying Webhooks

Signing Secret (Required)

You create it and give it to Echo at registration; Echo does not assign it. Echo signs every payload with it; you verify. Not to be confused with endpoint authentication below, or with an OAuth client_secret.

RequirementSpecification
Length24–128 characters
Required characters1 uppercase, 1 lowercase, 1 number
Special charactersRecommended, not required

Allowed symbols

@ # $ % & * ! ? [ ] { } ( ) < > + - _ . , : ; ~ ` ^ | \ /

Credentials Echo presents so your endpoint/gateway accepts the request. Does not replace the Signing Secret.

MethodConfiguration
API keyYour header name + value, sent on every request
Basic AuthHeader pair: Authorization + Basic <base64(username:password)>; mutually exclusive with OAuth
OAuth 2.0Client credentials flow: endpoint, client_id, client_secret, grant_type=client_credentials (+ optional scope, audience)
Custom headersAny name/value pairs, sent on every request

Onboarding at a Glance

StepAction
1Create Signing Secret; prepare separate testing + production URLs
2Email registration to Technical Integrations
3Validate test payloads in the testing environment
4Confirm results; request production activation

Full walkthrough: Onboarding & Registration