[{"data":1,"prerenderedAt":1084},["ShallowReactive",2],{"navigation_docs":3,"-packages-python-webhookendpoints":465,"-packages-python-webhookendpoints-surround":1079},[4,8,62,115,450],{"title":5,"path":6,"stem":7},"Introduction","\u002Fintroduction","0.introduction",{"title":9,"path":10,"stem":11,"children":12,"page":61},"Guides","\u002Fguides","1.guides",[13,17,21,25,29,33,37,41,45,49,53,57],{"title":14,"path":15,"stem":16},"Quickstart","\u002Fguides\u002Fquickstart","1.guides\u002F1.quickstart",{"title":18,"path":19,"stem":20},"Payouts & Settlement","\u002Fguides\u002Fpayouts","1.guides\u002F10.payouts",{"title":22,"path":23,"stem":24},"Customer Emails","\u002Fguides\u002Fcustomer-emails","1.guides\u002F11.customer-emails",{"title":26,"path":27,"stem":28},"Build your own integration","\u002Fguides\u002Fbuild-your-own-integration","1.guides\u002F2.build-your-own-integration",{"title":30,"path":31,"stem":32},"Selling Workflow","\u002Fguides\u002Fselling-workflow","1.guides\u002F2.selling-workflow",{"title":34,"path":35,"stem":36},"Vatly SDKs","\u002Fguides\u002Fsdks","1.guides\u002F3.sdks",{"title":38,"path":39,"stem":40},"Authentication","\u002Fguides\u002Fauthentication","1.guides\u002F4.authentication",{"title":42,"path":43,"stem":44},"Pagination","\u002Fguides\u002Fpagination","1.guides\u002F5.pagination",{"title":46,"path":47,"stem":48},"Errors","\u002Fguides\u002Ferrors","1.guides\u002F6.errors",{"title":50,"path":51,"stem":52},"Webhooks","\u002Fguides\u002Fwebhooks","1.guides\u002F7.webhooks",{"title":54,"path":55,"stem":56},"Idempotency","\u002Fguides\u002Fidempotency","1.guides\u002F8.idempotency",{"title":58,"path":59,"stem":60},"Testing","\u002Fguides\u002Ftesting","1.guides\u002F9.testing",false,{"title":63,"path":64,"stem":65,"children":66,"page":61},"Api Reference","\u002Fapi-reference","2.api-reference",[67,71,75,79,83,87,91,95,99,103,107,111],{"title":68,"path":69,"stem":70},"Customers","\u002Fapi-reference\u002Fcustomers","2.api-reference\u002F1.customers",{"title":72,"path":73,"stem":74},"Webhook Endpoints","\u002Fapi-reference\u002Fwebhook-endpoints","2.api-reference\u002F10.webhook-endpoints",{"title":76,"path":77,"stem":78},"Test helpers","\u002Fapi-reference\u002Ftest-helpers","2.api-reference\u002F11.test-helpers",{"title":80,"path":81,"stem":82},"Checkouts","\u002Fapi-reference\u002Fcheckouts","2.api-reference\u002F2.checkouts",{"title":84,"path":85,"stem":86},"One-off Products","\u002Fapi-reference\u002Fone-off-products","2.api-reference\u002F3.one-off-products",{"title":88,"path":89,"stem":90},"Subscriptions","\u002Fapi-reference\u002Fsubscriptions","2.api-reference\u002F4.subscriptions",{"title":92,"path":93,"stem":94},"Subscription Plans","\u002Fapi-reference\u002Fsubscription-plans","2.api-reference\u002F5.subscription-plans",{"title":96,"path":97,"stem":98},"Orders","\u002Fapi-reference\u002Forders","2.api-reference\u002F6.orders",{"title":100,"path":101,"stem":102},"Order Refunds","\u002Fapi-reference\u002Frefunds","2.api-reference\u002F7.refunds",{"title":104,"path":105,"stem":106},"Refunds","\u002Fapi-reference\u002Fglobal-refunds","2.api-reference\u002F8.global-refunds",{"title":108,"path":109,"stem":110},"Chargebacks","\u002Fapi-reference\u002Fchargebacks","2.api-reference\u002F9.chargebacks",{"title":112,"path":113,"stem":114},"Webhook Events","\u002Fapi-reference\u002Fwebhook-events","2.api-reference\u002F99.webhook-events",{"title":116,"path":117,"stem":118,"children":119},"Packages","\u002Fpackages","3.packages",[120,122,164,210,244,283,318,366,408],{"title":116,"path":117,"stem":121},"3.packages\u002Findex",{"title":123,"path":124,"stem":125,"children":126,"page":61},"PHP SDK","\u002Fpackages\u002Fphp","3.packages\u002F1.php",[127,131,134,137,140,144,147,151,154,157,160],{"title":128,"path":129,"stem":130},"Getting started","\u002Fpackages\u002Fphp\u002Freadme","3.packages\u002F1.php\u002F00.readme",{"title":68,"path":132,"stem":133},"\u002Fpackages\u002Fphp\u002Fcustomers","3.packages\u002F1.php\u002F02.customers",{"title":80,"path":135,"stem":136},"\u002Fpackages\u002Fphp\u002Fcheckouts","3.packages\u002F1.php\u002F03.checkouts",{"title":88,"path":138,"stem":139},"\u002Fpackages\u002Fphp\u002Fsubscriptions","3.packages\u002F1.php\u002F04.subscriptions",{"title":141,"path":142,"stem":143},"Subscription plans","\u002Fpackages\u002Fphp\u002Fsubscriptionplans","3.packages\u002F1.php\u002F05.subscriptionplans",{"title":96,"path":145,"stem":146},"\u002Fpackages\u002Fphp\u002Forders","3.packages\u002F1.php\u002F06.orders",{"title":148,"path":149,"stem":150},"One-off products","\u002Fpackages\u002Fphp\u002Foneoffproducts","3.packages\u002F1.php\u002F07.oneoffproducts",{"title":104,"path":152,"stem":153},"\u002Fpackages\u002Fphp\u002Frefunds","3.packages\u002F1.php\u002F08.refunds",{"title":108,"path":155,"stem":156},"\u002Fpackages\u002Fphp\u002Fchargebacks","3.packages\u002F1.php\u002F09.chargebacks",{"title":50,"path":158,"stem":159},"\u002Fpackages\u002Fphp\u002Fwebhooks","3.packages\u002F1.php\u002F10.webhooks",{"title":161,"path":162,"stem":163},"Webhook URLs","\u002Fpackages\u002Fphp\u002Fwebhookendpoints","3.packages\u002F1.php\u002F11.webhookendpoints",{"title":165,"path":166,"stem":167,"children":168,"page":61},"PHP Fluent","\u002Fpackages\u002Ffluent-php","3.packages\u002F2.fluent-php",[169,172,176,180,183,186,189,192,196,199,203,207],{"title":128,"path":170,"stem":171},"\u002Fpackages\u002Ffluent-php\u002Freadme","3.packages\u002F2.fluent-php\u002F00.readme",{"title":173,"path":174,"stem":175},"Configuration","\u002Fpackages\u002Ffluent-php\u002Fconfiguration","3.packages\u002F2.fluent-php\u002F01.configuration",{"title":177,"path":178,"stem":179},"Core concepts","\u002Fpackages\u002Ffluent-php\u002Fcoreconcepts","3.packages\u002F2.fluent-php\u002F02.coreconcepts",{"title":68,"path":181,"stem":182},"\u002Fpackages\u002Ffluent-php\u002Fcustomers","3.packages\u002F2.fluent-php\u002F03.customers",{"title":80,"path":184,"stem":185},"\u002Fpackages\u002Ffluent-php\u002Fcheckouts","3.packages\u002F2.fluent-php\u002F04.checkouts",{"title":88,"path":187,"stem":188},"\u002Fpackages\u002Ffluent-php\u002Fsubscriptions","3.packages\u002F2.fluent-php\u002F05.subscriptions",{"title":96,"path":190,"stem":191},"\u002Fpackages\u002Ffluent-php\u002Forders","3.packages\u002F2.fluent-php\u002F06.orders",{"title":193,"path":194,"stem":195},"Customer portal","\u002Fpackages\u002Ffluent-php\u002Fcustomerportal","3.packages\u002F2.fluent-php\u002F07.customerportal",{"title":50,"path":197,"stem":198},"\u002Fpackages\u002Ffluent-php\u002Fwebhooks","3.packages\u002F2.fluent-php\u002F08.webhooks",{"title":200,"path":201,"stem":202},"Webhook event flow","\u002Fpackages\u002Ffluent-php\u002Fwebhook-flow","3.packages\u002F2.fluent-php\u002F09.webhook-flow",{"title":204,"path":205,"stem":206},"Existing tables","\u002Fpackages\u002Ffluent-php\u002Fhost-owns-its-tables","3.packages\u002F2.fluent-php\u002F10.host-owns-its-tables",{"title":58,"path":208,"stem":209},"\u002Fpackages\u002Ffluent-php\u002Ftesting","3.packages\u002F2.fluent-php\u002F11.testing",{"title":211,"path":212,"stem":213,"children":214,"page":61},"Laravel","\u002Fpackages\u002Flaravel","3.packages\u002F3.laravel",[215,218,221,224,227,230,233,236,240],{"title":128,"path":216,"stem":217},"\u002Fpackages\u002Flaravel\u002Freadme","3.packages\u002F3.laravel\u002F00.readme",{"title":173,"path":219,"stem":220},"\u002Fpackages\u002Flaravel\u002Fconfiguration","3.packages\u002F3.laravel\u002F01.configuration",{"title":68,"path":222,"stem":223},"\u002Fpackages\u002Flaravel\u002Fcustomers","3.packages\u002F3.laravel\u002F02.customers",{"title":80,"path":225,"stem":226},"\u002Fpackages\u002Flaravel\u002Fcheckouts","3.packages\u002F3.laravel\u002F03.checkouts",{"title":88,"path":228,"stem":229},"\u002Fpackages\u002Flaravel\u002Fsubscriptions","3.packages\u002F3.laravel\u002F04.subscriptions",{"title":96,"path":231,"stem":232},"\u002Fpackages\u002Flaravel\u002Forders","3.packages\u002F3.laravel\u002F05.orders",{"title":50,"path":234,"stem":235},"\u002Fpackages\u002Flaravel\u002Fwebhooks","3.packages\u002F3.laravel\u002F06.webhooks",{"title":237,"path":238,"stem":239},"Comparison","\u002Fpackages\u002Flaravel\u002Fcomparison","3.packages\u002F3.laravel\u002F07.comparison",{"title":241,"path":242,"stem":243},"Migrating from Cashier","\u002Fpackages\u002Flaravel\u002Fmigrating-to-vatly","3.packages\u002F3.laravel\u002F08.migrating-to-vatly",{"title":245,"path":246,"stem":247,"children":248,"page":61},"JavaScript SDK","\u002Fpackages\u002Fjavascript","3.packages\u002F4.javascript",[249,252,255,258,261,264,267,270,273,276,279],{"title":128,"path":250,"stem":251},"\u002Fpackages\u002Fjavascript\u002Freadme","3.packages\u002F4.javascript\u002F00.readme",{"title":68,"path":253,"stem":254},"\u002Fpackages\u002Fjavascript\u002Fcustomers","3.packages\u002F4.javascript\u002F02.customers",{"title":80,"path":256,"stem":257},"\u002Fpackages\u002Fjavascript\u002Fcheckouts","3.packages\u002F4.javascript\u002F03.checkouts",{"title":88,"path":259,"stem":260},"\u002Fpackages\u002Fjavascript\u002Fsubscriptions","3.packages\u002F4.javascript\u002F04.subscriptions",{"title":141,"path":262,"stem":263},"\u002Fpackages\u002Fjavascript\u002Fsubscriptionplans","3.packages\u002F4.javascript\u002F05.subscriptionplans",{"title":96,"path":265,"stem":266},"\u002Fpackages\u002Fjavascript\u002Forders","3.packages\u002F4.javascript\u002F06.orders",{"title":148,"path":268,"stem":269},"\u002Fpackages\u002Fjavascript\u002Foneoffproducts","3.packages\u002F4.javascript\u002F07.oneoffproducts",{"title":104,"path":271,"stem":272},"\u002Fpackages\u002Fjavascript\u002Frefunds","3.packages\u002F4.javascript\u002F08.refunds",{"title":108,"path":274,"stem":275},"\u002Fpackages\u002Fjavascript\u002Fchargebacks","3.packages\u002F4.javascript\u002F09.chargebacks",{"title":50,"path":277,"stem":278},"\u002Fpackages\u002Fjavascript\u002Fwebhooks","3.packages\u002F4.javascript\u002F10.webhooks",{"title":280,"path":281,"stem":282},"API reference","\u002Fpackages\u002Fjavascript\u002Fapi","3.packages\u002F4.javascript\u002F12.api",{"title":284,"path":285,"stem":286,"children":287,"page":61},"JavaScript Fluent","\u002Fpackages\u002Ffluent-js","3.packages\u002F5.fluent-js",[288,291,294,297,300,303,306,309,312,315],{"title":128,"path":289,"stem":290},"\u002Fpackages\u002Ffluent-js\u002Freadme","3.packages\u002F5.fluent-js\u002F00.readme",{"title":173,"path":292,"stem":293},"\u002Fpackages\u002Ffluent-js\u002Fconfiguration","3.packages\u002F5.fluent-js\u002F01.configuration",{"title":177,"path":295,"stem":296},"\u002Fpackages\u002Ffluent-js\u002Fcoreconcepts","3.packages\u002F5.fluent-js\u002F02.coreconcepts",{"title":68,"path":298,"stem":299},"\u002Fpackages\u002Ffluent-js\u002Fcustomers","3.packages\u002F5.fluent-js\u002F03.customers",{"title":80,"path":301,"stem":302},"\u002Fpackages\u002Ffluent-js\u002Fcheckouts","3.packages\u002F5.fluent-js\u002F04.checkouts",{"title":88,"path":304,"stem":305},"\u002Fpackages\u002Ffluent-js\u002Fsubscriptions","3.packages\u002F5.fluent-js\u002F05.subscriptions",{"title":96,"path":307,"stem":308},"\u002Fpackages\u002Ffluent-js\u002Forders","3.packages\u002F5.fluent-js\u002F06.orders",{"title":193,"path":310,"stem":311},"\u002Fpackages\u002Ffluent-js\u002Fcustomerportal","3.packages\u002F5.fluent-js\u002F07.customerportal",{"title":50,"path":313,"stem":314},"\u002Fpackages\u002Ffluent-js\u002Fwebhooks","3.packages\u002F5.fluent-js\u002F08.webhooks",{"title":58,"path":316,"stem":317},"\u002Fpackages\u002Ffluent-js\u002Ftesting","3.packages\u002F5.fluent-js\u002F11.testing",{"title":319,"path":320,"stem":321,"children":322,"page":61},"Python SDK","\u002Fpackages\u002Fpython","3.packages\u002F6.python",[323,326,329,332,335,338,341,344,347,350,353,356,359,362],{"title":128,"path":324,"stem":325},"\u002Fpackages\u002Fpython\u002Freadme","3.packages\u002F6.python\u002F00.readme",{"title":173,"path":327,"stem":328},"\u002Fpackages\u002Fpython\u002Fconfiguration","3.packages\u002F6.python\u002F01.configuration",{"title":68,"path":330,"stem":331},"\u002Fpackages\u002Fpython\u002Fcustomers","3.packages\u002F6.python\u002F02.customers",{"title":80,"path":333,"stem":334},"\u002Fpackages\u002Fpython\u002Fcheckouts","3.packages\u002F6.python\u002F03.checkouts",{"title":88,"path":336,"stem":337},"\u002Fpackages\u002Fpython\u002Fsubscriptions","3.packages\u002F6.python\u002F04.subscriptions",{"title":141,"path":339,"stem":340},"\u002Fpackages\u002Fpython\u002Fsubscriptionplans","3.packages\u002F6.python\u002F05.subscriptionplans",{"title":96,"path":342,"stem":343},"\u002Fpackages\u002Fpython\u002Forders","3.packages\u002F6.python\u002F06.orders",{"title":148,"path":345,"stem":346},"\u002Fpackages\u002Fpython\u002Foneoffproducts","3.packages\u002F6.python\u002F07.oneoffproducts",{"title":104,"path":348,"stem":349},"\u002Fpackages\u002Fpython\u002Frefunds","3.packages\u002F6.python\u002F08.refunds",{"title":108,"path":351,"stem":352},"\u002Fpackages\u002Fpython\u002Fchargebacks","3.packages\u002F6.python\u002F09.chargebacks",{"title":50,"path":354,"stem":355},"\u002Fpackages\u002Fpython\u002Fwebhooks","3.packages\u002F6.python\u002F10.webhooks",{"title":161,"path":357,"stem":358},"\u002Fpackages\u002Fpython\u002Fwebhookendpoints","3.packages\u002F6.python\u002F11.webhookendpoints",{"title":280,"path":360,"stem":361},"\u002Fpackages\u002Fpython\u002Fapi","3.packages\u002F6.python\u002F12.api",{"title":363,"path":364,"stem":365},"Development","\u002Fpackages\u002Fpython\u002Fdevelopment","3.packages\u002F6.python\u002F13.development",{"title":367,"path":368,"stem":369,"children":370,"page":61},"Python Fluent","\u002Fpackages\u002Ffluent-python","3.packages\u002F7.fluent-python",[371,374,377,380,383,386,389,392,395,398,401,405],{"title":128,"path":372,"stem":373},"\u002Fpackages\u002Ffluent-python\u002Freadme","3.packages\u002F7.fluent-python\u002F00.readme",{"title":173,"path":375,"stem":376},"\u002Fpackages\u002Ffluent-python\u002Fconfiguration","3.packages\u002F7.fluent-python\u002F01.configuration",{"title":177,"path":378,"stem":379},"\u002Fpackages\u002Ffluent-python\u002Fcoreconcepts","3.packages\u002F7.fluent-python\u002F02.coreconcepts",{"title":68,"path":381,"stem":382},"\u002Fpackages\u002Ffluent-python\u002Fcustomers","3.packages\u002F7.fluent-python\u002F03.customers",{"title":80,"path":384,"stem":385},"\u002Fpackages\u002Ffluent-python\u002Fcheckouts","3.packages\u002F7.fluent-python\u002F04.checkouts",{"title":88,"path":387,"stem":388},"\u002Fpackages\u002Ffluent-python\u002Fsubscriptions","3.packages\u002F7.fluent-python\u002F05.subscriptions",{"title":96,"path":390,"stem":391},"\u002Fpackages\u002Ffluent-python\u002Forders","3.packages\u002F7.fluent-python\u002F06.orders",{"title":193,"path":393,"stem":394},"\u002Fpackages\u002Ffluent-python\u002Fcustomerportal","3.packages\u002F7.fluent-python\u002F07.customerportal",{"title":50,"path":396,"stem":397},"\u002Fpackages\u002Ffluent-python\u002Fwebhooks","3.packages\u002F7.fluent-python\u002F08.webhooks",{"title":58,"path":399,"stem":400},"\u002Fpackages\u002Ffluent-python\u002Ftesting","3.packages\u002F7.fluent-python\u002F11.testing",{"title":402,"path":403,"stem":404},"Porting","\u002Fpackages\u002Ffluent-python\u002Fporting","3.packages\u002F7.fluent-python\u002F12.porting",{"title":363,"path":406,"stem":407},"\u002Fpackages\u002Ffluent-python\u002Fdevelopment","3.packages\u002F7.fluent-python\u002F13.development",{"title":409,"path":410,"stem":411,"children":412,"page":61},"Django","\u002Fpackages\u002Fdjango","3.packages\u002F8.django",[413,416,420,423,427,431,434,437,440,444,447],{"title":128,"path":414,"stem":415},"\u002Fpackages\u002Fdjango\u002Freadme","3.packages\u002F8.django\u002F00.readme",{"title":417,"path":418,"stem":419},"Installation","\u002Fpackages\u002Fdjango\u002Finstallation","3.packages\u002F8.django\u002F01.installation",{"title":173,"path":421,"stem":422},"\u002Fpackages\u002Fdjango\u002Fconfiguration","3.packages\u002F8.django\u002F02.configuration",{"title":424,"path":425,"stem":426},"Billable models","\u002Fpackages\u002Fdjango\u002Fbillablemodels","3.packages\u002F8.django\u002F03.billablemodels",{"title":428,"path":429,"stem":430},"Checkout","\u002Fpackages\u002Fdjango\u002Fcheckout","3.packages\u002F8.django\u002F04.checkout",{"title":88,"path":432,"stem":433},"\u002Fpackages\u002Fdjango\u002Fbilling","3.packages\u002F8.django\u002F05.billing",{"title":193,"path":435,"stem":436},"\u002Fpackages\u002Fdjango\u002Fcustomerportal","3.packages\u002F8.django\u002F06.customerportal",{"title":50,"path":438,"stem":439},"\u002Fpackages\u002Fdjango\u002Fwebhooks","3.packages\u002F8.django\u002F07.webhooks",{"title":441,"path":442,"stem":443},"Admin","\u002Fpackages\u002Fdjango\u002Fadmin","3.packages\u002F8.django\u002F08.admin",{"title":58,"path":445,"stem":446},"\u002Fpackages\u002Fdjango\u002Ftesting","3.packages\u002F8.django\u002F09.testing",{"title":363,"path":448,"stem":449},"\u002Fpackages\u002Fdjango\u002Fdevelopment","3.packages\u002F8.django\u002F10.development",{"title":451,"path":452,"stem":453,"children":454},"Integrations","\u002Fintegrations","4.integrations",[455,457,461],{"title":451,"path":452,"stem":456},"4.integrations\u002Findex",{"title":458,"path":459,"stem":460},"Lovable payments with Vatly","\u002Fintegrations\u002Flovable","4.integrations\u002F1.lovable",{"title":462,"path":463,"stem":464},"Bolt payments with Vatly","\u002Fintegrations\u002Fbolt","4.integrations\u002F2.bolt",{"id":466,"title":467,"body":468,"description":1072,"extension":1073,"links":1074,"meta":1075,"navigation":1076,"path":357,"seo":1077,"stem":358,"__hash__":1078},"docs\u002F3.packages\u002F6.python\u002F11.webhookendpoints.md","Webhook endpoints",{"type":469,"value":470,"toc":1068},"minimark",[471,480,485,731,789,792,796,1000,1003,1052,1064],[472,473,474,475,479],"p",{},"Endpoints tell Vatly where to send events. Configure these from trusted server-side\nadministration, not from a buyer's request. Examples accept the client from\n",[476,477,478],"a",{"href":324},"setup","; running them changes your Vatly configuration.",[481,482,484],"h2",{"id":483},"register-an-https-receiver","Register an HTTPS receiver",[486,487,492],"pre",{"className":488,"code":489,"language":490,"meta":491,"style":491},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import secrets\nfrom vatly import VatlyClient\n\n\ndef example(client: VatlyClient):\n    secret = secrets.token_urlsafe(32)\n    endpoint = client.webhook_endpoints.create(\n        {\n            \"url\": \"https:\u002F\u002Fapp.example.com\u002Fbilling\u002Fwebhook\u002F\",\n            \"secret\": secret,\n            \"enabledEvents\": [\"order.paid\", \"subscription.started\"],\n        }\n    )\n    # Store secret in your secret manager; do not log it.\n    return endpoint.id\n","python","",[493,494,495,508,522,529,534,562,589,614,620,646,663,698,704,710,717],"code",{"__ignoreMap":491},[496,497,500,504],"span",{"class":498,"line":499},"line",1,[496,501,503],{"class":502},"s7zQu","import",[496,505,507],{"class":506},"sTEyZ"," secrets\n",[496,509,511,514,517,519],{"class":498,"line":510},2,[496,512,513],{"class":502},"from",[496,515,516],{"class":506}," vatly ",[496,518,503],{"class":502},[496,520,521],{"class":506}," VatlyClient\n",[496,523,525],{"class":498,"line":524},3,[496,526,528],{"emptyLinePlaceholder":527},true,"\n",[496,530,532],{"class":498,"line":531},4,[496,533,528],{"emptyLinePlaceholder":527},[496,535,537,541,545,549,553,556,559],{"class":498,"line":536},5,[496,538,540],{"class":539},"spNyl","def",[496,542,544],{"class":543},"s2Zo4"," example",[496,546,548],{"class":547},"sMK4o","(",[496,550,552],{"class":551},"sHdIc","client",[496,554,555],{"class":547},":",[496,557,558],{"class":506}," VatlyClient",[496,560,561],{"class":547},"):\n",[496,563,565,568,571,574,577,580,582,586],{"class":498,"line":564},6,[496,566,567],{"class":506},"    secret ",[496,569,570],{"class":547},"=",[496,572,573],{"class":506}," secrets",[496,575,576],{"class":547},".",[496,578,579],{"class":543},"token_urlsafe",[496,581,548],{"class":547},[496,583,585],{"class":584},"sbssI","32",[496,587,588],{"class":547},")\n",[496,590,592,595,597,600,602,606,608,611],{"class":498,"line":591},7,[496,593,594],{"class":506},"    endpoint ",[496,596,570],{"class":547},[496,598,599],{"class":506}," client",[496,601,576],{"class":547},[496,603,605],{"class":604},"swJcz","webhook_endpoints",[496,607,576],{"class":547},[496,609,610],{"class":543},"create",[496,612,613],{"class":547},"(\n",[496,615,617],{"class":498,"line":616},8,[496,618,619],{"class":547},"        {\n",[496,621,623,626,630,633,635,638,641,643],{"class":498,"line":622},9,[496,624,625],{"class":547},"            \"",[496,627,629],{"class":628},"sfazB","url",[496,631,632],{"class":547},"\"",[496,634,555],{"class":547},[496,636,637],{"class":547}," \"",[496,639,640],{"class":628},"https:\u002F\u002Fapp.example.com\u002Fbilling\u002Fwebhook\u002F",[496,642,632],{"class":547},[496,644,645],{"class":547},",\n",[496,647,649,651,654,656,658,661],{"class":498,"line":648},10,[496,650,625],{"class":547},[496,652,653],{"class":628},"secret",[496,655,632],{"class":547},[496,657,555],{"class":547},[496,659,660],{"class":543}," secret",[496,662,645],{"class":547},[496,664,666,668,671,673,675,678,680,683,685,688,690,693,695],{"class":498,"line":665},11,[496,667,625],{"class":547},[496,669,670],{"class":628},"enabledEvents",[496,672,632],{"class":547},[496,674,555],{"class":547},[496,676,677],{"class":547}," [",[496,679,632],{"class":547},[496,681,682],{"class":628},"order.paid",[496,684,632],{"class":547},[496,686,687],{"class":547},",",[496,689,637],{"class":547},[496,691,692],{"class":628},"subscription.started",[496,694,632],{"class":547},[496,696,697],{"class":547},"],\n",[496,699,701],{"class":498,"line":700},12,[496,702,703],{"class":547},"        }\n",[496,705,707],{"class":498,"line":706},13,[496,708,709],{"class":547},"    )\n",[496,711,713],{"class":498,"line":712},14,[496,714,716],{"class":715},"sHwdD","    # Store secret in your secret manager; do not log it.\n",[496,718,720,723,726,728],{"class":498,"line":719},15,[496,721,722],{"class":502},"    return",[496,724,725],{"class":506}," endpoint",[496,727,576],{"class":547},[496,729,730],{"class":604},"id\n",[732,733,734,750],"table",{},[735,736,737],"thead",{},[738,739,740,744,747],"tr",{},[741,742,743],"th",{},"Input (wire key)",[741,745,746],{},"Required?",[741,748,749],{},"Purpose",[751,752,753,766,777],"tbody",{},[738,754,755,760,763],{},[756,757,758],"td",{},[493,759,629],{},[756,761,762],{},"Yes on create",[756,764,765],{},"Public HTTPS receiver",[738,767,768,772,774],{},[756,769,770],{},[493,771,653],{},[756,773,762],{},[756,775,776],{},"Secret used to verify deliveries",[738,778,779,783,786],{},[756,780,781],{},[493,782,670],{},[756,784,785],{},"No",[756,787,788],{},"Event names to subscribe to; see API reference for defaults",[472,790,791],{},"Subscribe to every lifecycle event your integration needs, including cancellation,\nresume and refund events. The minimal example above is not a complete billing policy.",[481,793,795],{"id":794},"list-update-and-remove-an-endpoint","List, update and remove an endpoint",[486,797,799],{"className":488,"code":798,"language":490,"meta":491,"style":491},"from vatly import VatlyClient\n\n\ndef example(client: VatlyClient):\n    endpoints = list(client.webhook_endpoints.list_all({\"limit\": 25}))\n    endpoint = client.webhook_endpoints.get(\"webhook_endpoint_example\")\n    updated = client.webhook_endpoints.update(\n        endpoint.id,\n        {\n            \"url\": \"https:\u002F\u002Fapp.example.com\u002Fbilling\u002Fwebhook\u002F\",\n        },\n    )\n    client.webhook_endpoints.delete(updated.id)\n    return endpoints\n",[493,800,801,811,815,819,835,877,905,925,937,941,959,964,968,993],{"__ignoreMap":491},[496,802,803,805,807,809],{"class":498,"line":499},[496,804,513],{"class":502},[496,806,516],{"class":506},[496,808,503],{"class":502},[496,810,521],{"class":506},[496,812,813],{"class":498,"line":510},[496,814,528],{"emptyLinePlaceholder":527},[496,816,817],{"class":498,"line":524},[496,818,528],{"emptyLinePlaceholder":527},[496,820,821,823,825,827,829,831,833],{"class":498,"line":531},[496,822,540],{"class":539},[496,824,544],{"class":543},[496,826,548],{"class":547},[496,828,552],{"class":551},[496,830,555],{"class":547},[496,832,558],{"class":506},[496,834,561],{"class":547},[496,836,837,840,842,846,848,850,852,854,856,859,862,864,867,869,871,874],{"class":498,"line":536},[496,838,839],{"class":506},"    endpoints ",[496,841,570],{"class":547},[496,843,845],{"class":844},"sBMFI"," list",[496,847,548],{"class":547},[496,849,552],{"class":543},[496,851,576],{"class":547},[496,853,605],{"class":604},[496,855,576],{"class":547},[496,857,858],{"class":543},"list_all",[496,860,861],{"class":547},"({",[496,863,632],{"class":547},[496,865,866],{"class":628},"limit",[496,868,632],{"class":547},[496,870,555],{"class":547},[496,872,873],{"class":584}," 25",[496,875,876],{"class":547},"}))\n",[496,878,879,881,883,885,887,889,891,894,896,898,901,903],{"class":498,"line":564},[496,880,594],{"class":506},[496,882,570],{"class":547},[496,884,599],{"class":506},[496,886,576],{"class":547},[496,888,605],{"class":604},[496,890,576],{"class":547},[496,892,893],{"class":543},"get",[496,895,548],{"class":547},[496,897,632],{"class":547},[496,899,900],{"class":628},"webhook_endpoint_example",[496,902,632],{"class":547},[496,904,588],{"class":547},[496,906,907,910,912,914,916,918,920,923],{"class":498,"line":591},[496,908,909],{"class":506},"    updated ",[496,911,570],{"class":547},[496,913,599],{"class":506},[496,915,576],{"class":547},[496,917,605],{"class":604},[496,919,576],{"class":547},[496,921,922],{"class":543},"update",[496,924,613],{"class":547},[496,926,927,930,932,935],{"class":498,"line":616},[496,928,929],{"class":543},"        endpoint",[496,931,576],{"class":547},[496,933,934],{"class":604},"id",[496,936,645],{"class":547},[496,938,939],{"class":498,"line":622},[496,940,619],{"class":547},[496,942,943,945,947,949,951,953,955,957],{"class":498,"line":648},[496,944,625],{"class":547},[496,946,629],{"class":628},[496,948,632],{"class":547},[496,950,555],{"class":547},[496,952,637],{"class":547},[496,954,640],{"class":628},[496,956,632],{"class":547},[496,958,645],{"class":547},[496,960,961],{"class":498,"line":665},[496,962,963],{"class":547},"        },\n",[496,965,966],{"class":498,"line":700},[496,967,709],{"class":547},[496,969,970,973,975,977,979,982,984,987,989,991],{"class":498,"line":706},[496,971,972],{"class":506},"    client",[496,974,576],{"class":547},[496,976,605],{"class":604},[496,978,576],{"class":547},[496,980,981],{"class":543},"delete",[496,983,548],{"class":547},[496,985,986],{"class":543},"updated",[496,988,576],{"class":547},[496,990,934],{"class":604},[496,992,588],{"class":547},[496,994,995,997],{"class":498,"line":712},[496,996,722],{"class":502},[496,998,999],{"class":506}," endpoints\n",[472,1001,1002],{},"Deletion returns None. Coordinate secret rotation with your receiver, which can\naccept old and new secrets temporarily. Do not expose endpoint secrets to browsers.",[732,1004,1005,1015],{},[735,1006,1007],{},[738,1008,1009,1012],{},[741,1010,1011],{},"Response field",[741,1013,1014],{},"Meaning",[751,1016,1017,1029,1039],{},[738,1018,1019,1026],{},[756,1020,1021,1023,1024],{},[493,1022,934],{},", ",[493,1025,629],{},[756,1027,1028],{},"Endpoint identity and destination",[738,1030,1031,1036],{},[756,1032,1033],{},[493,1034,1035],{},"enabled_events",[756,1037,1038],{},"Event subscriptions",[738,1040,1041,1049],{},[756,1042,1043,1023,1046],{},[493,1044,1045],{},"testmode",[493,1047,1048],{},"links",[756,1050,1051],{},"Mode and resource links",[472,1053,1054,1060,1061],{},[476,1055,1059],{"href":1056,"rel":1057},"https:\u002F\u002Fdocs.vatly.com\u002Fapi-reference\u002Fwebhook-endpoints",[1058],"nofollow","Endpoint API reference"," · ",[476,1062,1063],{"href":354},"Verify deliveries",[1065,1066,1067],"style",{},"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 .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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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}",{"title":491,"searchDepth":510,"depth":510,"links":1069},[1070,1071],{"id":483,"depth":510,"text":484},{"id":794,"depth":510,"text":795},"Endpoints tell Vatly where to send events.","md",null,{},{"title":161},{"title":467,"description":1072},"zEbvToF8rPr_5_XFbh4eXFoxfSF_j8IYOJQSuAxXWjo",[1080,1082],{"title":50,"path":354,"stem":355,"description":1081,"children":-1},"Use signed webhooks to learn about payments and subscription changes.",{"title":280,"path":360,"stem":361,"description":1083,"children":-1},"Look up SDK methods, HTTP endpoints and return types for synchronous and asynchronous clients.",1794594932302]