[{"data":1,"prerenderedAt":834},["ShallowReactive",2],{"navigation":3,"\u002Fguides\u002Fserver-webhooks":53,"\u002Fguides\u002Fserver-webhooks-surround":829},[4,13,28,46],{"title":5,"path":6,"stem":7,"children":8,"icon":12},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9],{"title":10,"path":6,"stem":7,"icon":11},"Concepts","i-lucide-house",false,{"title":14,"path":15,"stem":16,"children":17,"page":12},"Guides","\u002Fguides","2.guides",[18,23],{"title":19,"path":20,"stem":21,"icon":22},"Server webhooks","\u002Fguides\u002Fserver-webhooks","2.guides\u002F1.server-webhooks","i-lucide-server",{"title":24,"path":25,"stem":26,"icon":27},"Signed webhooks","\u002Fguides\u002Fsigned-webhooks","2.guides\u002F2.signed-webhooks","i-lucide-shield-check",{"title":29,"path":30,"stem":31,"children":32,"page":12},"Reference","\u002Freference","3.reference",[33,37,41],{"title":34,"path":35,"stem":36,"icon":22},"POST \u002Fapi\u002Fv1\u002Fingest","\u002Freference\u002Fingest","3.reference\u002F1.ingest",{"title":38,"path":39,"stem":40,"icon":27},"POST \u002Fapi\u002Fv1\u002Fingest\u002F:slug","\u002Freference\u002Fingest-slug","3.reference\u002F2.ingest-slug",{"title":42,"path":43,"stem":44,"icon":45},"Headers, errors & limits","\u002Freference\u002Fheaders-errors-limits","3.reference\u002F3.headers-errors-limits","i-lucide-list-checks",{"title":47,"path":48,"stem":49,"children":50,"icon":52},"Changelog","\u002Fchangelog","4.changelog\u002F1.index",[51],{"title":47,"path":48,"stem":49,"icon":52},"i-lucide-history",{"id":54,"title":19,"body":55,"description":822,"extension":823,"links":824,"meta":825,"navigation":826,"path":20,"seo":827,"sitemap":824,"stem":21,"__hash__":828},"docs\u002F2.guides\u002F1.server-webhooks.md",{"type":56,"value":57,"toc":815},"minimark",[58,62,67,78,90,96,100,118,585,589,597,627,636,663,686,690,701,770,773,777,780,794,804,811],[59,60,61],"p",{},"Server-to-server submission with a long-lived Bearer token. This is the surface to reach for first: your backend, or any tool that lets you set a custom header (Zapier, Make, most webhook-relay UIs), can be sending leads in a few minutes.",[63,64,66],"h2",{"id":65},"endpoint","Endpoint",[68,69,74],"pre",{"className":70,"code":72,"language":73},[71],"language-text","POST https:\u002F\u002Fapp.blackglassleads.com\u002Fapi\u002Fv1\u002Fingest\n","text",[75,76,72],"code",{"__ignoreMap":77},"",[59,79,80,81,85,86,89],{},"Create a server token in ",[82,83,84],"strong",{},"Settings → Ingest tokens",", then send it in the ",[75,87,88],{},"Authorization"," header:",[68,91,94],{"className":92,"code":93,"language":73},[71],"Authorization: Bearer ingt_srv_XXXXXXXXXXXXXXXXXXXXXXXX\n",[75,95,93],{"__ignoreMap":77},[63,97,99],{"id":98},"payload","Payload",[59,101,102,103,106,107,110,111,110,114,117],{},"The body is arbitrary JSON — there's no fixed schema, and every key becomes a field on the lead. Keep keys ",[82,104,105],{},"flat and top-level"," (",[75,108,109],{},"email",", ",[75,112,113],{},"name",[75,115,116],{},"company",") rather than nested objects: your form's field configuration and the lead table both address fields by their top-level key, so a flat payload is what shows up cleanly as columns. Nested values are still accepted and stored, just not surfaced the same way.",[119,120,121,203,438,544],"code-group",{},[68,122,127],{"className":123,"code":124,"filename":125,"language":126,"meta":77,"style":77},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST \"https:\u002F\u002Fapp.blackglassleads.com\u002Fapi\u002Fv1\u002Fingest\" \\\n  -H \"Authorization: Bearer ingt_srv_XXXXXXXXXXXXXXXXXXXXXXXX\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"email\":\"sarah@acme.com\",\"name\":\"Sarah Chen\",\"company\":\"Acme\"}'\n","cURL","bash",[75,128,129,159,174,188],{"__ignoreMap":77},[130,131,134,138,142,145,149,152,155],"span",{"class":132,"line":133},"line",1,[130,135,137],{"class":136},"sBMFI","curl",[130,139,141],{"class":140},"sfazB"," -X",[130,143,144],{"class":140}," POST",[130,146,148],{"class":147},"sMK4o"," \"",[130,150,151],{"class":140},"https:\u002F\u002Fapp.blackglassleads.com\u002Fapi\u002Fv1\u002Fingest",[130,153,154],{"class":147},"\"",[130,156,158],{"class":157},"sTEyZ"," \\\n",[130,160,162,165,167,170,172],{"class":132,"line":161},2,[130,163,164],{"class":140},"  -H",[130,166,148],{"class":147},[130,168,169],{"class":140},"Authorization: Bearer ingt_srv_XXXXXXXXXXXXXXXXXXXXXXXX",[130,171,154],{"class":147},[130,173,158],{"class":157},[130,175,177,179,181,184,186],{"class":132,"line":176},3,[130,178,164],{"class":140},[130,180,148],{"class":147},[130,182,183],{"class":140},"Content-Type: application\u002Fjson",[130,185,154],{"class":147},[130,187,158],{"class":157},[130,189,191,194,197,200],{"class":132,"line":190},4,[130,192,193],{"class":140},"  -d",[130,195,196],{"class":147}," '",[130,198,199],{"class":140},"{\"email\":\"sarah@acme.com\",\"name\":\"Sarah Chen\",\"company\":\"Acme\"}",[130,201,202],{"class":147},"'\n",[68,204,209],{"className":205,"code":206,"filename":207,"language":208,"meta":77,"style":77},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const res = await fetch('https:\u002F\u002Fapp.blackglassleads.com\u002Fapi\u002Fv1\u002Fingest', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer ingt_srv_XXXXXXXXXXXXXXXXXXXXXXXX',\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({\n    email: 'sarah@acme.com',\n    name: 'Sarah Chen',\n    company: 'Acme'\n  })\n})\n\nconst data = await res.json()\n","Node (fetch)","js",[75,210,211,247,266,275,295,314,320,342,359,376,391,400,408,415],{"__ignoreMap":77},[130,212,213,217,220,223,227,231,234,237,239,241,244],{"class":132,"line":133},[130,214,216],{"class":215},"spNyl","const",[130,218,219],{"class":157}," res ",[130,221,222],{"class":147},"=",[130,224,226],{"class":225},"s7zQu"," await",[130,228,230],{"class":229},"s2Zo4"," fetch",[130,232,233],{"class":157},"(",[130,235,236],{"class":147},"'",[130,238,151],{"class":140},[130,240,236],{"class":147},[130,242,243],{"class":147},",",[130,245,246],{"class":147}," {\n",[130,248,249,253,256,258,261,263],{"class":132,"line":161},[130,250,252],{"class":251},"swJcz","  method",[130,254,255],{"class":147},":",[130,257,196],{"class":147},[130,259,260],{"class":140},"POST",[130,262,236],{"class":147},[130,264,265],{"class":147},",\n",[130,267,268,271,273],{"class":132,"line":176},[130,269,270],{"class":251},"  headers",[130,272,255],{"class":147},[130,274,246],{"class":147},[130,276,277,280,282,284,286,288,291,293],{"class":132,"line":190},[130,278,279],{"class":147},"    '",[130,281,88],{"class":251},[130,283,236],{"class":147},[130,285,255],{"class":147},[130,287,196],{"class":147},[130,289,290],{"class":140},"Bearer ingt_srv_XXXXXXXXXXXXXXXXXXXXXXXX",[130,292,236],{"class":147},[130,294,265],{"class":147},[130,296,298,300,303,305,307,309,312],{"class":132,"line":297},5,[130,299,279],{"class":147},[130,301,302],{"class":251},"Content-Type",[130,304,236],{"class":147},[130,306,255],{"class":147},[130,308,196],{"class":147},[130,310,311],{"class":140},"application\u002Fjson",[130,313,202],{"class":147},[130,315,317],{"class":132,"line":316},6,[130,318,319],{"class":147},"  },\n",[130,321,323,326,328,331,334,337,339],{"class":132,"line":322},7,[130,324,325],{"class":251},"  body",[130,327,255],{"class":147},[130,329,330],{"class":157}," JSON",[130,332,333],{"class":147},".",[130,335,336],{"class":229},"stringify",[130,338,233],{"class":157},[130,340,341],{"class":147},"{\n",[130,343,345,348,350,352,355,357],{"class":132,"line":344},8,[130,346,347],{"class":251},"    email",[130,349,255],{"class":147},[130,351,196],{"class":147},[130,353,354],{"class":140},"sarah@acme.com",[130,356,236],{"class":147},[130,358,265],{"class":147},[130,360,362,365,367,369,372,374],{"class":132,"line":361},9,[130,363,364],{"class":251},"    name",[130,366,255],{"class":147},[130,368,196],{"class":147},[130,370,371],{"class":140},"Sarah Chen",[130,373,236],{"class":147},[130,375,265],{"class":147},[130,377,379,382,384,386,389],{"class":132,"line":378},10,[130,380,381],{"class":251},"    company",[130,383,255],{"class":147},[130,385,196],{"class":147},[130,387,388],{"class":140},"Acme",[130,390,202],{"class":147},[130,392,394,397],{"class":132,"line":393},11,[130,395,396],{"class":147},"  }",[130,398,399],{"class":157},")\n",[130,401,403,406],{"class":132,"line":402},12,[130,404,405],{"class":147},"}",[130,407,399],{"class":157},[130,409,411],{"class":132,"line":410},13,[130,412,414],{"emptyLinePlaceholder":413},true,"\n",[130,416,418,420,423,425,427,430,432,435],{"class":132,"line":417},14,[130,419,216],{"class":215},[130,421,422],{"class":157}," data ",[130,424,222],{"class":147},[130,426,226],{"class":225},[130,428,429],{"class":157}," res",[130,431,333],{"class":147},[130,433,434],{"class":229},"json",[130,436,437],{"class":157},"()\n",[68,439,444],{"className":440,"code":441,"filename":442,"language":443,"meta":77,"style":77},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003C?php\n$payload = json_encode([\n    'email' => 'sarah@acme.com',\n    'name' => 'Sarah Chen',\n    'company' => 'Acme',\n]);\n\n$ch = curl_init('https:\u002F\u002Fapp.blackglassleads.com\u002Fapi\u002Fv1\u002Fingest');\ncurl_setopt_array($ch, [\n    CURLOPT_POST => true,\n    CURLOPT_POSTFIELDS => $payload,\n    CURLOPT_HTTPHEADER => [\n        'Authorization: Bearer ingt_srv_XXXXXXXXXXXXXXXXXXXXXXXX',\n        'Content-Type: application\u002Fjson',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n]);\n$response = curl_exec($ch);\ncurl_close($ch);\n","PHP","php",[75,445,446,451,456,461,466,471,476,480,485,490,495,500,505,510,515,521,527,532,538],{"__ignoreMap":77},[130,447,448],{"class":132,"line":133},[130,449,450],{},"\u003C?php\n",[130,452,453],{"class":132,"line":161},[130,454,455],{},"$payload = json_encode([\n",[130,457,458],{"class":132,"line":176},[130,459,460],{},"    'email' => 'sarah@acme.com',\n",[130,462,463],{"class":132,"line":190},[130,464,465],{},"    'name' => 'Sarah Chen',\n",[130,467,468],{"class":132,"line":297},[130,469,470],{},"    'company' => 'Acme',\n",[130,472,473],{"class":132,"line":316},[130,474,475],{},"]);\n",[130,477,478],{"class":132,"line":322},[130,479,414],{"emptyLinePlaceholder":413},[130,481,482],{"class":132,"line":344},[130,483,484],{},"$ch = curl_init('https:\u002F\u002Fapp.blackglassleads.com\u002Fapi\u002Fv1\u002Fingest');\n",[130,486,487],{"class":132,"line":361},[130,488,489],{},"curl_setopt_array($ch, [\n",[130,491,492],{"class":132,"line":378},[130,493,494],{},"    CURLOPT_POST => true,\n",[130,496,497],{"class":132,"line":393},[130,498,499],{},"    CURLOPT_POSTFIELDS => $payload,\n",[130,501,502],{"class":132,"line":402},[130,503,504],{},"    CURLOPT_HTTPHEADER => [\n",[130,506,507],{"class":132,"line":410},[130,508,509],{},"        'Authorization: Bearer ingt_srv_XXXXXXXXXXXXXXXXXXXXXXXX',\n",[130,511,512],{"class":132,"line":417},[130,513,514],{},"        'Content-Type: application\u002Fjson',\n",[130,516,518],{"class":132,"line":517},15,[130,519,520],{},"    ],\n",[130,522,524],{"class":132,"line":523},16,[130,525,526],{},"    CURLOPT_RETURNTRANSFER => true,\n",[130,528,530],{"class":132,"line":529},17,[130,531,475],{},[130,533,535],{"class":132,"line":534},18,[130,536,537],{},"$response = curl_exec($ch);\n",[130,539,541],{"class":132,"line":540},19,[130,542,543],{},"curl_close($ch);\n",[68,545,550],{"className":546,"code":547,"filename":548,"language":549,"meta":77,"style":77},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import requests\n\nresponse = requests.post(\n    \"https:\u002F\u002Fapp.blackglassleads.com\u002Fapi\u002Fv1\u002Fingest\",\n    headers={\"Authorization\": \"Bearer ingt_srv_XXXXXXXXXXXXXXXXXXXXXXXX\"},\n    json={\"email\": \"sarah@acme.com\", \"name\": \"Sarah Chen\", \"company\": \"Acme\"},\n)\n","Python","python",[75,551,552,557,561,566,571,576,581],{"__ignoreMap":77},[130,553,554],{"class":132,"line":133},[130,555,556],{},"import requests\n",[130,558,559],{"class":132,"line":161},[130,560,414],{"emptyLinePlaceholder":413},[130,562,563],{"class":132,"line":176},[130,564,565],{},"response = requests.post(\n",[130,567,568],{"class":132,"line":190},[130,569,570],{},"    \"https:\u002F\u002Fapp.blackglassleads.com\u002Fapi\u002Fv1\u002Fingest\",\n",[130,572,573],{"class":132,"line":297},[130,574,575],{},"    headers={\"Authorization\": \"Bearer ingt_srv_XXXXXXXXXXXXXXXXXXXXXXXX\"},\n",[130,577,578],{"class":132,"line":316},[130,579,580],{},"    json={\"email\": \"sarah@acme.com\", \"name\": \"Sarah Chen\", \"company\": \"Acme\"},\n",[130,582,583],{"class":132,"line":322},[130,584,399],{},[63,586,588],{"id":587},"response-contract","Response contract",[59,590,591,592,255],{},"A successful submission returns ",[82,593,594],{},[75,595,596],{},"202 Accepted",[68,598,601],{"className":599,"code":600,"language":434,"meta":77,"style":77},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{ \"submission_id\": \"a1b2c3d4-e5f6-4789-9abc-def012345678\" }\n",[75,602,603],{"__ignoreMap":77},[130,604,605,608,610,613,615,617,619,622,624],{"class":132,"line":133},[130,606,607],{"class":147},"{",[130,609,148],{"class":147},[130,611,612],{"class":215},"submission_id",[130,614,154],{"class":147},[130,616,255],{"class":147},[130,618,148],{"class":147},[130,620,621],{"class":140},"a1b2c3d4-e5f6-4789-9abc-def012345678",[130,623,154],{"class":147},[130,625,626],{"class":147}," }\n",[59,628,629,630,255],{},"Every failure — missing or invalid token, wrong token type, a suspended workspace, a rate-limit trip, a malformed idempotency key, an oversized body — returns an ",[82,631,632,633],{},"indistinguishable ",[75,634,635],{},"200 OK",[68,637,639],{"className":599,"code":638,"language":434,"meta":77,"style":77},"{ \"status\": \"rejected\" }\n",[75,640,641],{"__ignoreMap":77},[130,642,643,645,647,650,652,654,656,659,661],{"class":132,"line":133},[130,644,607],{"class":147},[130,646,148],{"class":147},[130,648,649],{"class":215},"status",[130,651,154],{"class":147},[130,653,255],{"class":147},[130,655,148],{"class":147},[130,657,658],{"class":140},"rejected",[130,660,154],{"class":147},[130,662,626],{"class":147},[664,665,666],"note",{},[59,667,668,669,672,673,676,677,681,682,685],{},"This is intentional, not a bug. If an invalid token got a ",[75,670,671],{},"401"," and a rate-limited valid token got a ",[75,674,675],{},"429",", the response code itself would tell an attacker whether a guessed token exists. Making every rejection reason look identical on the wire closes that side channel — the tradeoff is that ",[678,679,680],"em",{},"you"," can't tell from the response alone why a submission was rejected either. To find out, open ",[82,683,684],{},"Settings → Ingest tokens → Diagnostics",", which shows the real, discriminated reason for every rejection against your workspace.",[63,687,689],{"id":688},"idempotency","Idempotency",[59,691,692,693,696,697,700],{},"Include an ",[75,694,695],{},"X-BGL-Idempotency-Key"," header (any string, 1–255 characters) to make retries safe. A repeat request with the same key from the same workspace within ",[82,698,699],{},"24 hours"," returns the original response verbatim instead of creating a second lead.",[68,702,704],{"className":123,"code":703,"filename":125,"language":126,"meta":77,"style":77},"curl -X POST \"https:\u002F\u002Fapp.blackglassleads.com\u002Fapi\u002Fv1\u002Fingest\" \\\n  -H \"Authorization: Bearer ingt_srv_XXXXXXXXXXXXXXXXXXXXXXXX\" \\\n  -H \"X-BGL-Idempotency-Key: order-12345\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"email\":\"sarah@acme.com\"}'\n",[75,705,706,722,734,747,759],{"__ignoreMap":77},[130,707,708,710,712,714,716,718,720],{"class":132,"line":133},[130,709,137],{"class":136},[130,711,141],{"class":140},[130,713,144],{"class":140},[130,715,148],{"class":147},[130,717,151],{"class":140},[130,719,154],{"class":147},[130,721,158],{"class":157},[130,723,724,726,728,730,732],{"class":132,"line":161},[130,725,164],{"class":140},[130,727,148],{"class":147},[130,729,169],{"class":140},[130,731,154],{"class":147},[130,733,158],{"class":157},[130,735,736,738,740,743,745],{"class":132,"line":176},[130,737,164],{"class":140},[130,739,148],{"class":147},[130,741,742],{"class":140},"X-BGL-Idempotency-Key: order-12345",[130,744,154],{"class":147},[130,746,158],{"class":157},[130,748,749,751,753,755,757],{"class":132,"line":190},[130,750,164],{"class":140},[130,752,148],{"class":147},[130,754,183],{"class":140},[130,756,154],{"class":147},[130,758,158],{"class":157},[130,760,761,763,765,768],{"class":132,"line":297},[130,762,193],{"class":140},[130,764,196],{"class":147},[130,766,767],{"class":140},"{\"email\":\"sarah@acme.com\"}",[130,769,202],{"class":147},[59,771,772],{},"A malformed idempotency key (empty, or over 255 characters) is itself an opaque-reject condition — check the Diagnostics view if retries aren't behaving as expected.",[63,774,776],{"id":775},"rate-limits","Rate limits",[59,778,779],{},"Per workspace, across every server token you've issued:",[781,782,783,789],"ul",{},[784,785,786],"li",{},[82,787,788],{},"1,000 submissions \u002F minute",[784,790,791],{},[82,792,793],{},"50,000 submissions \u002F day",[59,795,796,797,800,801,803],{},"Going over either limit returns the same opaque ",[75,798,799],{},"200 { \"status\": \"rejected\" }"," — there's no ",[75,802,675],{},", for the same anti-enumeration reason as above. The Diagnostics view distinguishes rate-limit rejections from every other rejection reason.",[59,805,806,807,810],{},"See ",[808,809,42],"a",{"href":43}," for the full picture across both server-side surfaces.",[812,813,814],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":77,"searchDepth":133,"depth":161,"links":816},[817,818,819,820,821],{"id":65,"depth":161,"text":66},{"id":98,"depth":161,"text":99},{"id":587,"depth":161,"text":588},{"id":688,"depth":161,"text":689},{"id":775,"depth":161,"text":776},"Bearer-token authentication for server-to-server lead submission — Surface 1a.","md",null,{},{"icon":22},{"title":19,"description":822},"js2clPGgQ9H8keg6cPb31VJ73QTTSqWYuoNW11SZmOw",[830,832],{"title":10,"path":6,"stem":7,"description":831,"icon":11,"children":-1},"Workspaces, forms, leads, and tokens — and which of the three ingestion surfaces to use.",{"title":24,"path":25,"stem":26,"description":833,"icon":27,"children":-1},"HMAC-SHA256 signed submission with mandatory secrets and replay protection — Surface 1b.",1786814658154]