[{"data":1,"prerenderedAt":154},["ShallowReactive",2],{"content-\u002Fchangelog\u002F2026-07-20-error-codes-new-docs-ai-assistant":3},{"id":4,"title":5,"author":6,"body":7,"categories":6,"category":137,"categoryType":138,"date":139,"description":140,"extension":141,"faq":6,"howto":6,"isBlog":142,"isChangelog":143,"meta":144,"navigation":143,"path":149,"rawbody":150,"seo":151,"stem":152,"thumbnail":6,"__hash__":153},"content\u002Fchangelog\u002F2026-07-20-error-codes-new-docs-ai-assistant.md","Public Error Codes, New Documentation, and AI in the Docs",null,{"type":8,"value":9,"toc":128},"minimark",[10,14,19,59,63,76,86,90,98,105,109,112,115,118,122],[11,12,13],"p",{},"July's product updates: API errors become predictable and safe to show your users, the documentation gets a full rebuild, and you can now ask the docs anything.",[15,16,18],"h2",{"id":17},"tldr","TL;DR",[20,21,22,37,43,49],"ul",{},[23,24,25,29,30,33,34],"li",{},[26,27,28],"strong",{},"Public error codes:"," every API error now returns a stable ",[31,32,31],"code",{}," and a safe-to-display ",[31,35,36],{},"description",[23,38,39,42],{},[26,40,41],{},"New documentation:"," rebuilt navigation, REST-only quickstarts, and a self-hosted API reference",[23,44,45,48],{},[26,46,47],{},"AI in the docs:"," an assistant that knows our entire API and answers instantly",[23,50,51,54,55,58],{},[26,52,53],{},"Idempotency keys:"," opt-in ",[31,56,57],{},"Idempotency-Key"," header on all mutating v1 endpoints",[15,60,62],{"id":61},"public-error-codes","Public error codes",[11,64,65,66,68,69,72,73,75],{},"Every API error response now includes two additive fields: ",[31,67,31],{},", a stable identifier like ",[31,70,71],{},"PAYOUTS_INSUFFICIENT_BALANCE",", and ",[31,74,36],{},", human-readable text safe to show your end users. Existing responses are unchanged, so nothing breaks.",[11,77,78,79,85],{},"Each code is documented with its retry semantics, so your integration knows whether to retry, stop, or ask the user to act. Browse the full list in the ",[80,81,84],"a",{"href":82,"target":83},"\u002Fdocs\u002Fapi\u002Freference","\\_blank","API reference",".",[15,87,89],{"id":88},"new-documentation","New documentation",[11,91,92,93,97],{},"We rebuilt ",[80,94,96],{"href":95},"\u002Fdocs","blindpay.com\u002Fdocs"," from the ground up. Navigation is organized around what you are doing (Payins, Payouts, Send, Receive, Store), and every quickstart is REST-only with managed wallets, so you can integrate without touching blockchain tooling.",[11,99,100,101,104],{},"The API reference now lives at ",[80,102,103],{"href":82,"target":83},"blindpay.com\u002Fdocs\u002Fapi\u002Freference"," with one URL per endpoint. All old URLs redirect.",[15,106,108],{"id":107},"ai-in-the-docs","AI in the docs",[11,110,111],{},"The docs now answer back. An AI assistant trained on our entire documentation and API reference is built into every page: ask \"how do I create a payout quote\" or paste an error code, and it gives you a direct answer with working request examples, no page hunting.",[11,113,114],{},"It is the fastest way to integrate BlindPay. Most questions that used to become support tickets now get answered in seconds, right where you are working.",[11,116,117],{},"And this is just the start: the same AI is coming to the dashboard next, where you will be able to run your entire operation by simply asking in plain language.",[15,119,121],{"id":120},"idempotency-keys","Idempotency keys",[11,123,124,125,127],{},"Mutating v1 endpoints now accept an optional ",[31,126,57],{}," header. Retry with the same key and you get the original response back instead of a duplicate action, making timeouts and retries safe on payment-creating calls.",{"title":129,"searchDepth":130,"depth":130,"links":131},"",2,[132,133,134,135,136],{"id":17,"depth":130,"text":18},{"id":61,"depth":130,"text":62},{"id":88,"depth":130,"text":89},{"id":107,"depth":130,"text":108},{"id":120,"depth":130,"text":121},"Product Update","update","2026-07-20","Stable error codes with safe-to-display descriptions on every API error, a rebuilt documentation site with an AI assistant built in, and opt-in request idempotency.","md",false,true,{"excerpt":145},{"type":8,"value":146},[147],[11,148,13],{},"\u002Fchangelog\u002F2026-07-20-error-codes-new-docs-ai-assistant","---\ntitle: Public Error Codes, New Documentation, and AI in the Docs\ndescription: Stable error codes with safe-to-display descriptions on every API error, a rebuilt documentation site with an AI assistant built in, and opt-in request idempotency.\ndate: 2026-07-20\ncategory: Product Update\ncategoryType: update\nisChangelog: true\n---\n\nJuly's product updates: API errors become predictable and safe to show your users, the documentation gets a full rebuild, and you can now ask the docs anything.\n\n\u003C!--more-->\n\n## TL;DR\n\n- **Public error codes:** every API error now returns a stable `code` and a safe-to-display `description`\n- **New documentation:** rebuilt navigation, REST-only quickstarts, and a self-hosted API reference\n- **AI in the docs:** an assistant that knows our entire API and answers instantly\n- **Idempotency keys:** opt-in `Idempotency-Key` header on all mutating v1 endpoints\n\n## Public error codes\n\nEvery API error response now includes two additive fields: `code`, a stable identifier like `PAYOUTS_INSUFFICIENT_BALANCE`, and `description`, human-readable text safe to show your end users. Existing responses are unchanged, so nothing breaks.\n\nEach code is documented with its retry semantics, so your integration knows whether to retry, stop, or ask the user to act. Browse the full list in the [API reference](\u002Fdocs\u002Fapi\u002Freference){target=\"\\_blank\"}.\n\n## New documentation\n\nWe rebuilt [blindpay.com\u002Fdocs](\u002Fdocs) from the ground up. Navigation is organized around what you are doing (Payins, Payouts, Send, Receive, Store), and every quickstart is REST-only with managed wallets, so you can integrate without touching blockchain tooling.\n\nThe API reference now lives at [blindpay.com\u002Fdocs\u002Fapi\u002Freference](\u002Fdocs\u002Fapi\u002Freference){target=\"\\_blank\"} with one URL per endpoint. All old URLs redirect.\n\n## AI in the docs\n\nThe docs now answer back. An AI assistant trained on our entire documentation and API reference is built into every page: ask \"how do I create a payout quote\" or paste an error code, and it gives you a direct answer with working request examples, no page hunting.\n\nIt is the fastest way to integrate BlindPay. Most questions that used to become support tickets now get answered in seconds, right where you are working.\n\nAnd this is just the start: the same AI is coming to the dashboard next, where you will be able to run your entire operation by simply asking in plain language.\n\n## Idempotency keys\n\nMutating v1 endpoints now accept an optional `Idempotency-Key` header. Retry with the same key and you get the original response back instead of a duplicate action, making timeouts and retries safe on payment-creating calls.\n",{"title":5,"description":140},"changelog\u002F2026-07-20-error-codes-new-docs-ai-assistant","0E7m8DWeBohqDcsKdPKt5gj8ffnVyYYJJq18TlEYoqs",1784658965242]