{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-echosync-webhooks/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Onboarding & Registration"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"onboarding--registration","__idx":0},"children":["Onboarding & Registration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Registration is an email-based process with Echo's Technical Integrations team: you prepare an endpoint and credentials, register, validate against test payloads in the testing environment, then go live in production."]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"flowchart LR\n    A[\"Prepare endpoint,<br/>Signing Secret &<br/>endpoint auth\"] --> B[\"Register<br/>by email\"]\n    B --> C[\"Validate test payloads<br/>in testing environment\"]\n    C --> D{\"All checks<br/>pass?\"}\n    D -- \"No: fix & retest\" --> C\n    D -- \"Yes\" --> E[\"Production<br/>activation\"]\n","diagramHtml":"<svg id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1156.875px;\" viewBox=\"0 0 1156.875 166.03125\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .error-icon{fill:#552222;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .error-text{fill:#552222;stroke:#552222;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edge-thickness-normal{stroke-width:1px;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edge-thickness-thick{stroke-width:3.5px;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edge-pattern-solid{stroke-dasharray:0;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .marker{fill:#333333;stroke:#333333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .marker.cross{stroke:#333333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 p{margin:0;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .cluster-label text{fill:#333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .cluster-label span{color:#333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .cluster-label span p{background-color:transparent;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .label text,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 span{fill:#333;color:#333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node rect,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node circle,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node ellipse,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node polygon,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .rough-node .label text,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node .label text,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .image-shape .label,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .icon-shape .label{text-anchor:middle;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .rough-node .label,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node .label,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .image-shape .label,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .icon-shape .label{text-align:center;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node.clickable{cursor:pointer;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .arrowheadPath{fill:#333333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .flowchart-link{stroke:#333333;fill:none;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .cluster text{fill:#333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .cluster span{color:#333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 rect.text{fill:none;stroke-width:0;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .icon-shape,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .icon-shape p,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .icon-shape .label rect,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 .node .neo-node{stroke:#9370DB;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].node rect,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].cluster rect,#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M195.203,83.016L199.37,83.016C203.536,83.016,211.87,83.016,219.536,83.016C227.203,83.016,234.203,83.016,237.703,83.016L241.203,83.016\" id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-L_A_B_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_A_B_0\" data-points=\"W3sieCI6MTk1LjIwMzEyNSwieSI6ODMuMDE1NjI1fSx7IngiOjIyMC4yMDMxMjUsInkiOjgzLjAxNTYyNX0seyJ4IjoyNDUuMjAzMTI1LCJ5Ijo4My4wMTU2MjV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-pointEnd)\"></path><path d=\"M364.781,83.016L368.948,83.016C373.115,83.016,381.448,83.016,389.115,83.016C396.781,83.016,403.781,83.016,407.281,83.016L410.781,83.016\" id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-L_B_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_C_0\" data-points=\"W3sieCI6MzY0Ljc4MTI1LCJ5Ijo4My4wMTU2MjV9LHsieCI6Mzg5Ljc4MTI1LCJ5Ijo4My4wMTU2MjV9LHsieCI6NDE0Ljc4MTI1LCJ5Ijo4My4wMTU2MjV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-pointEnd)\"></path><path d=\"M631.313,73.689L644.223,72.577C657.133,71.464,682.953,69.24,709.298,69.538C735.642,69.835,762.511,72.655,775.946,74.064L789.38,75.474\" id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-L_C_D_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_D_0\" data-points=\"W3sieCI6NjMxLjMxMjUsInkiOjczLjY4ODc0MTU2MDgwNDI3fSx7IngiOjcwOC43NzM0Mzc1LCJ5Ijo2Ny4wMTU2MjV9LHsieCI6NzkzLjM1ODUxMTMzMjAxOTUsInkiOjc1Ljg5MTQ4ODY2Nzk4MDUyfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-pointEnd)\"></path><path d=\"M793.359,90.14L779.261,91.619C765.163,93.098,736.968,96.057,710.625,96.481C684.282,96.906,659.79,94.796,647.544,93.741L635.298,92.686\" id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-L_D_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_C_0\" data-points=\"W3sieCI6NzkzLjM1ODUxMTMzMjAxOTUsInkiOjkwLjEzOTc2MTMzMjAxOTQ4fSx7IngiOjcwOC43NzM0Mzc1LCJ5Ijo5OS4wMTU2MjV9LHsieCI6NjMxLjMxMjUsInkiOjkyLjM0MjUwODQzOTE5NTczfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-pointEnd)\"></path><path d=\"M936.266,83.016L942.608,83.016C948.951,83.016,961.635,83.016,973.654,83.016C985.672,83.016,997.023,83.016,1002.699,83.016L1008.375,83.016\" id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-L_D_E_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_E_0\" data-points=\"W3sieCI6OTM2LjI2NTYyNSwieSI6ODMuMDE1NjI1fSx7IngiOjk3NC4zMjAzMTI1LCJ5Ijo4My4wMTU2MjV9LHsieCI6MTAxMi4zNzUsInkiOjgzLjAxNTYyNX1d\" data-look=\"classic\" marker-end=\"url(#diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_A_B_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_B_C_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_C_D_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(712.40432, 98.63462)\"><g class=\"label\" data-id=\"L_D_C_0\" transform=\"translate(-52.4609375, -12)\"><foreignObject width=\"104.921875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>No: fix &amp; retest</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(974.3203125, 83.015625)\"><g class=\"label\" data-id=\"L_D_E_0\" transform=\"translate(-13.0546875, -12)\"><foreignObject width=\"26.109375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>Yes</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-flowchart-A-0\" data-look=\"classic\" transform=\"translate(101.6015625, 83.015625)\"><rect class=\"basic label-container\" style=\"\" x=\"-93.6015625\" y=\"-51\" width=\"187.203125\" height=\"102\"></rect><g class=\"label\" style=\"\" transform=\"translate(-63.6015625, -36)\"><rect></rect><foreignObject width=\"127.203125\" height=\"72\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Prepare endpoint,<br>Signing Secret &amp;<br>endpoint auth</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-flowchart-B-1\" data-look=\"classic\" transform=\"translate(304.9921875, 83.015625)\"><rect class=\"basic label-container\" style=\"\" x=\"-59.7890625\" y=\"-39\" width=\"119.578125\" height=\"78\"></rect><g class=\"label\" style=\"\" transform=\"translate(-29.7890625, -24)\"><rect></rect><foreignObject width=\"59.578125\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Register<br>by email</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-flowchart-C-3\" data-look=\"classic\" transform=\"translate(523.046875, 83.015625)\"><rect class=\"basic label-container\" style=\"\" x=\"-108.265625\" y=\"-39\" width=\"216.53125\" height=\"78\"></rect><g class=\"label\" style=\"\" transform=\"translate(-78.265625, -24)\"><rect></rect><foreignObject width=\"156.53125\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Validate test payloads<br>in testing environment</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-flowchart-D-5\" data-look=\"classic\" transform=\"translate(861.25, 83.015625)\"><polygon points=\"75.015625,0 150.03125,-75.015625 75.015625,-150.03125 0,-75.015625\" class=\"label-container\" transform=\"translate(-74.515625, 75.015625)\"></polygon><g class=\"label\" style=\"\" transform=\"translate(-36.015625, -24)\"><rect></rect><foreignObject width=\"72.03125\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>All checks<br>pass?</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-flowchart-E-9\" data-look=\"classic\" transform=\"translate(1080.625, 83.015625)\"><rect class=\"basic label-container\" style=\"\" x=\"-68.25\" y=\"-39\" width=\"136.5\" height=\"78\"></rect><g class=\"label\" style=\"\" transform=\"translate(-38.25, -24)\"><rect></rect><foreignObject width=\"76.5\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Production<br>activation</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-3678b4790349fc5a14cac798be44d4e10145ee40a416d7edd40aa73db4254dc7-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1156.875px;\" viewBox=\"0 0 1156.875 166.03125\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .error-icon{fill:#a44141;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .error-text{fill:#ddd;stroke:#ddd;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edge-thickness-normal{stroke-width:1px;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edge-thickness-thick{stroke-width:3.5px;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edge-pattern-solid{stroke-dasharray:0;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edge-pattern-dashed{stroke-dasharray:3;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edge-pattern-dotted{stroke-dasharray:2;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .marker{fill:lightgrey;stroke:lightgrey;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .marker.cross{stroke:lightgrey;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd p{margin:0;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .cluster-label text{fill:#F9FFFE;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .cluster-label span{color:#F9FFFE;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .cluster-label span p{background-color:transparent;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .label text,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd span{fill:#ccc;color:#ccc;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node rect,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node circle,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node ellipse,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node polygon,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .rough-node .label text,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node .label text,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .image-shape .label,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .icon-shape .label{text-anchor:middle;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .rough-node .label,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node .label,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .image-shape .label,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .icon-shape .label{text-align:center;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node.clickable{cursor:pointer;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .arrowheadPath{fill:lightgrey;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .flowchart-link{stroke:lightgrey;fill:none;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .cluster text{fill:#F9FFFE;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .cluster span{color:#F9FFFE;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd rect.text{fill:none;stroke-width:0;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .icon-shape,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .icon-shape p,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .icon-shape .label rect,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd .node .neo-node{stroke:#ccc;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].node rect,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].cluster rect,#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].node polygon{stroke:url(#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].node path{stroke:url(#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-gradient);stroke-width:1px;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].node circle{stroke:url(#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M195.203,83.016L199.37,83.016C203.536,83.016,211.87,83.016,219.536,83.016C227.203,83.016,234.203,83.016,237.703,83.016L241.203,83.016\" id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-L_A_B_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_A_B_0\" data-points=\"W3sieCI6MTk1LjIwMzEyNSwieSI6ODMuMDE1NjI1fSx7IngiOjIyMC4yMDMxMjUsInkiOjgzLjAxNTYyNX0seyJ4IjoyNDUuMjAzMTI1LCJ5Ijo4My4wMTU2MjV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-pointEnd)\"></path><path d=\"M364.781,83.016L368.948,83.016C373.115,83.016,381.448,83.016,389.115,83.016C396.781,83.016,403.781,83.016,407.281,83.016L410.781,83.016\" id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-L_B_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_C_0\" data-points=\"W3sieCI6MzY0Ljc4MTI1LCJ5Ijo4My4wMTU2MjV9LHsieCI6Mzg5Ljc4MTI1LCJ5Ijo4My4wMTU2MjV9LHsieCI6NDE0Ljc4MTI1LCJ5Ijo4My4wMTU2MjV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-pointEnd)\"></path><path d=\"M631.313,73.689L644.223,72.577C657.133,71.464,682.953,69.24,709.298,69.538C735.642,69.835,762.511,72.655,775.946,74.064L789.38,75.474\" id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-L_C_D_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_D_0\" data-points=\"W3sieCI6NjMxLjMxMjUsInkiOjczLjY4ODc0MTU2MDgwNDI3fSx7IngiOjcwOC43NzM0Mzc1LCJ5Ijo2Ny4wMTU2MjV9LHsieCI6NzkzLjM1ODUxMTMzMjAxOTUsInkiOjc1Ljg5MTQ4ODY2Nzk4MDUyfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-pointEnd)\"></path><path d=\"M793.359,90.14L779.261,91.619C765.163,93.098,736.968,96.057,710.625,96.481C684.282,96.906,659.79,94.796,647.544,93.741L635.298,92.686\" id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-L_D_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_C_0\" data-points=\"W3sieCI6NzkzLjM1ODUxMTMzMjAxOTUsInkiOjkwLjEzOTc2MTMzMjAxOTQ4fSx7IngiOjcwOC43NzM0Mzc1LCJ5Ijo5OS4wMTU2MjV9LHsieCI6NjMxLjMxMjUsInkiOjkyLjM0MjUwODQzOTE5NTczfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-pointEnd)\"></path><path d=\"M936.266,83.016L942.608,83.016C948.951,83.016,961.635,83.016,973.654,83.016C985.672,83.016,997.023,83.016,1002.699,83.016L1008.375,83.016\" id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-L_D_E_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_E_0\" data-points=\"W3sieCI6OTM2LjI2NTYyNSwieSI6ODMuMDE1NjI1fSx7IngiOjk3NC4zMjAzMTI1LCJ5Ijo4My4wMTU2MjV9LHsieCI6MTAxMi4zNzUsInkiOjgzLjAxNTYyNX1d\" data-look=\"classic\" marker-end=\"url(#diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_A_B_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_B_C_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_C_D_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(712.40432, 98.63462)\"><g class=\"label\" data-id=\"L_D_C_0\" transform=\"translate(-52.4609375, -12)\"><foreignObject width=\"104.921875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>No: fix &amp; retest</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(974.3203125, 83.015625)\"><g class=\"label\" data-id=\"L_D_E_0\" transform=\"translate(-13.0546875, -12)\"><foreignObject width=\"26.109375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>Yes</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-flowchart-A-0\" data-look=\"classic\" transform=\"translate(101.6015625, 83.015625)\"><rect class=\"basic label-container\" style=\"\" x=\"-93.6015625\" y=\"-51\" width=\"187.203125\" height=\"102\"></rect><g class=\"label\" style=\"\" transform=\"translate(-63.6015625, -36)\"><rect></rect><foreignObject width=\"127.203125\" height=\"72\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Prepare endpoint,<br>Signing Secret &amp;<br>endpoint auth</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-flowchart-B-1\" data-look=\"classic\" transform=\"translate(304.9921875, 83.015625)\"><rect class=\"basic label-container\" style=\"\" x=\"-59.7890625\" y=\"-39\" width=\"119.578125\" height=\"78\"></rect><g class=\"label\" style=\"\" transform=\"translate(-29.7890625, -24)\"><rect></rect><foreignObject width=\"59.578125\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Register<br>by email</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-flowchart-C-3\" data-look=\"classic\" transform=\"translate(523.046875, 83.015625)\"><rect class=\"basic label-container\" style=\"\" x=\"-108.265625\" y=\"-39\" width=\"216.53125\" height=\"78\"></rect><g class=\"label\" style=\"\" transform=\"translate(-78.265625, -24)\"><rect></rect><foreignObject width=\"156.53125\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Validate test payloads<br>in testing environment</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-flowchart-D-5\" data-look=\"classic\" transform=\"translate(861.25, 83.015625)\"><polygon points=\"75.015625,0 150.03125,-75.015625 75.015625,-150.03125 0,-75.015625\" class=\"label-container\" transform=\"translate(-74.515625, 75.015625)\"></polygon><g class=\"label\" style=\"\" transform=\"translate(-36.015625, -24)\"><rect></rect><foreignObject width=\"72.03125\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>All checks<br>pass?</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-flowchart-E-9\" data-look=\"classic\" transform=\"translate(1080.625, 83.015625)\"><rect class=\"basic label-container\" style=\"\" x=\"-68.25\" y=\"-39\" width=\"136.5\" height=\"78\"></rect><g class=\"label\" style=\"\" transform=\"translate(-38.25, -24)\"><rect></rect><foreignObject width=\"76.5\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Production<br>activation</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-8b497745e35b689524764e7563c01a7a5e50e15bff1a1b9c283325061f1226cd-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":["flowchart LR\n    A[\"Prepare endpoint,<br/>Signing Secret &<br/>endpoint auth\"] --> B[\"Register<br/>by email\"]\n    B --> C[\"Validate test payloads<br/>in testing environment\"]\n    C --> D{\"All checks<br/>pass?\"}\n    D -- \"No: fix & retest\" --> C\n    D -- \"Yes\" --> E[\"Production<br/>activation\"]\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":1},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before registering, your implementation needs:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Endpoint"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["HTTPS with a valid certificate from a trusted Certificate Authority (no self-signed or expired certificates; TLS 1.2+)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Responds within 15 seconds"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200 OK"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["202 Accepted"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["204 No Content"]}," on success"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Source IP addresses (if you allowlist inbound traffic)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Echo delivers all webhooks from static egress IP addresses that are guaranteed not to change. If your endpoint or gateway restricts inbound traffic by IP, allowlist all four:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Status"},"children":["Status"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"IP addresses"},"children":["IP addresses"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Active"]}," - all current traffic originates here"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3.19.83.191"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"code","attributes":{},"children":["18.118.90.214"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Reserved"]}," - guaranteed, may come into use without notice"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["32.188.140.83"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"code","attributes":{},"children":["35.80.104.162"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Allowlist the reserved pair now, even though it carries no traffic today; doing so prevents interrupted deliveries if Echo begins using it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Implementation"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["HMAC-SHA256 signature verification (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/echosync-webhooks/technical-implementation"},"children":["Receiving & Verifying Webhooks"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Idempotency handling keyed on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Echo-Webhook-Id"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Logging of webhook Ids and outcomes for troubleshooting"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Separate testing and production endpoints (required)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You must register two different URLs: one for testing, one for production. Echo validates your integration against the testing endpoint before any production traffic flows."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Environment"},"children":["Environment"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Example URL"},"children":["Example URL"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Testing/QA"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api-qa.yourcompany.com/webhooks/echo"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Production"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.yourcompany.com/webhooks/echo"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1-create-your-signing-secret","__idx":2},"children":["Step 1: Create Your Signing Secret"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["You create the Signing Secret; Echo does not assign one to you."]}," Generate a random value, store it securely on your side, and provide it to Echo during registration. Echo uses it to sign every webhook payload; you use it to verify each payload came from Echo."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Requirement"},"children":["Requirement"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Specification"},"children":["Specification"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Length"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["24–128 characters"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required characters"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["At least 1 uppercase, 1 lowercase, 1 number"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Special characters"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Recommended, not required"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Allowed symbols"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"@ # $ % & * ! ? [ ] { } ( ) < > + - _ . , : ; ~ ` ^ | \\ /\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Handling guidance"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Generate it with a cryptographically secure random generator; don't reuse a password or another system's key"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Store it like any other production credential (secret manager, restricted access)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You may use the same secret for testing and production, or different ones"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Have a plan for rotation if it's ever exposed (contact Technical Integrations to update it)"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2-choose-endpoint-authentication-optional-recommended","__idx":3},"children":["Step 2: Choose Endpoint Authentication (Optional, Recommended)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Signing Secret proves the request came from Echo, but it doesn't authenticate the request to ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["your"]}," infrastructure. If your endpoint or API gateway requires inbound credentials, provide them at registration and Echo will present them with every request. Most partner gateways expect this; configuring it prevents rejected deliveries on your side."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can combine these methods, with one constraint: ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["only one method can supply the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}," header"]},". If you configure OAuth, no other ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}," header can be provided: not Basic Auth, and not a custom header by that name. None of these methods replaces the Signing Secret."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"api-key","__idx":4},"children":["API Key"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You define a header name and value; Echo sends it with every request."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Configuration"},"children":["Configuration"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Header Name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your choice (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["x-api-key"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["api-key"]},")"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Header Value"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A key you generate"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"basic-auth","__idx":5},"children":["Basic Auth"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Basic Auth uses the same header-pair mechanism, but the header name is fixed: provide ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}," as the header name and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Basic <base64(username:password)>"]}," as the value, and Echo sends it with every request. Because it occupies the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}," header, it cannot be combined with OAuth."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"oauth-20-client-credentials","__idx":6},"children":["OAuth 2.0 (client credentials)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Echo obtains a bearer token from your token endpoint and sends it in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}," header. Note: the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_secret"]}," below is an OAuth credential for your token endpoint; it is unrelated to your webhook Signing Secret."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["endpoint"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your OAuth token endpoint URL"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["client_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["OAuth client identifier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["client_secret"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["OAuth client secret"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["grant_type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Always ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_credentials"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["scope"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Space-delimited OAuth scopes"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["audience"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Target audience identifier"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["How the token flow works is described in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/echosync-webhooks/technical-implementation"},"children":["Receiving & Verifying Webhooks"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"custom-headers","__idx":7},"children":["Custom Headers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Any additional headers you need on every request (routing headers, extra tokens, metadata). Provide them as name/value pairs at registration."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-3-register-by-email","__idx":8},"children":["Step 3: Register by Email"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send your registration to Echo's Technical Integrations team."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Email Subject:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Echo Webhook Registration - [Your Company Name]"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required information:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"Testing Environment:\n- Webhook URL: https://api-qa.yourcompany.com/webhooks/echo\n- Signing Secret: [Your generated secret]\n\nProduction Environment:\n- Webhook URL: https://api.yourcompany.com/webhooks/echo\n- Signing Secret: [Same or different secret]\n\nContact Information:\n- Primary Contact: [Name and email]\n- Technical Contact: [Name and email, if different]\n- Company: [Your company name]\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Optional endpoint authentication (if applicable):"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"API Key:\n- Header Name: [e.g., x-api-key]\n- Header Value: [Your API key]\n\nBasic Auth:\n- Header Name: Authorization\n- Header Value: Basic [base64(username:password)]\n\nOAuth Configuration:\n- Token Endpoint: [Your OAuth endpoint URL]\n- Client ID: [Your client_id]\n- Client Secret: [Your OAuth client_secret]\n- Scope: [If required]\n- Audience: [If required]\n\nCustom Headers:\n- [Header-Name]: [Header-Value]\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Security note:"]}," Follow your organization's practices for sending credentials (encrypted email or secure file sharing if required)."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-4-validate-in-the-testing-environment","__idx":9},"children":["Step 4: Validate in the Testing Environment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Echo registers your testing endpoint first and sends test payloads. Each test payload is a real webhook:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Standard Echo headers"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A valid signature computed with your Signing Secret"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A unique ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Echo-Webhook-Id"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A representative JSON body"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your configured endpoint authentication (if any)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To request additional test events later, email Technical Integrations with:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Subject: ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"Echo Webhook Test Events Request\""]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your registered testing URL"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your webhook registration Id (from your confirmation email)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Any specific event types you want"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Your validation checklist:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Verify the signature:"]}," compute HMAC-SHA256 over the raw request body using your Signing Secret and compare against ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Echo-Hmac-SHA256"]}," (timing-safe comparison). See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/echosync-webhooks/technical-implementation"},"children":["worked example"]}," with a known secret and expected signature."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Verify headers:"]}," all Echo headers present, timestamps in UTC ISO 8601; log the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Echo-Webhook-Id"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Verify response behavior:"]}," success status code (200/202/204) returned within 15 seconds"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Verify idempotency:"]}," the same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Echo-Webhook-Id"]}," delivered twice is processed once"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Verify endpoint auth:"]}," your configured API key / OAuth token / custom headers arrive as expected (if configured)"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"common-validation-issues","__idx":10},"children":["Common Validation Issues"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Signature mismatch"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Computing the HMAC over parsed/re-serialized JSON instead of the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["raw request body"]}," (this is the most common cause)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Wrong secret (it's case-sensitive) or stray whitespace in the stored value"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Wrong algorithm: must be HMAC-SHA256, base64-encoded"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Character encoding issues in the body or secret"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["SSL/TLS failures"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Expired, self-signed, or domain-mismatched certificate"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Server TLS misconfiguration"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Timeouts"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Processing synchronously before responding: acknowledge first, process in the background"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Slow downstream calls (database, external APIs) blocking the response"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-5-go-to-production","__idx":11},"children":["Step 5: Go to Production"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When testing is complete:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Email Technical Integrations with your results, including the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Echo-Webhook-Id"]}," values of successfully processed test events and any issues you hit and resolved"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Request production activation"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Echo registers your production endpoint and confirms by email; live events begin flowing"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before requesting activation, confirm your production endpoint is separate from testing, scaled appropriately, and monitored (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/echosync-webhooks/reliability"},"children":["Delivery, Retries & Health"]}," for what to monitor and why)."]}]},"headings":[{"value":"Onboarding & Registration","id":"onboarding--registration","depth":1},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Step 1: Create Your Signing Secret","id":"step-1-create-your-signing-secret","depth":2},{"value":"Step 2: Choose Endpoint Authentication (Optional, Recommended)","id":"step-2-choose-endpoint-authentication-optional-recommended","depth":2},{"value":"API Key","id":"api-key","depth":3},{"value":"Basic Auth","id":"basic-auth","depth":3},{"value":"OAuth 2.0 (client credentials)","id":"oauth-20-client-credentials","depth":3},{"value":"Custom Headers","id":"custom-headers","depth":3},{"value":"Step 3: Register by Email","id":"step-3-register-by-email","depth":2},{"value":"Step 4: Validate in the Testing Environment","id":"step-4-validate-in-the-testing-environment","depth":2},{"value":"Common Validation Issues","id":"common-validation-issues","depth":3},{"value":"Step 5: Go to Production","id":"step-5-go-to-production","depth":2}],"frontmatter":{"id":"getting-started","title":"Onboarding & Registration","seo":{"title":"Onboarding & Registration"}},"lastModified":"2026-08-14T20:20:15.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/echosync-webhooks/getting-started","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}