dodopayments-mcp 2.35.0 → 2.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"local-docs-search.d.mts","sourceRoot":"","sources":["src/local-docs-search.ts"],"names":[],"mappings":"AA+CA,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;CAC/C,CAAC;AAiqQF;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,UAAU,CAAiC;IAEnD,OAAO;WAKM,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAY1E,MAAM,CAAC,KAAK,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,YAAY;IA2EhB,OAAO,CAAC,YAAY;YAiBN,iBAAiB;IA4C/B,OAAO,CAAC,UAAU;CAgBnB"}
1
+ {"version":3,"file":"local-docs-search.d.mts","sourceRoot":"","sources":["src/local-docs-search.ts"],"names":[],"mappings":"AA+CA,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;CAC/C,CAAC;AA2pQF;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,UAAU,CAAiC;IAEnD,OAAO;WAKM,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAY1E,MAAM,CAAC,KAAK,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,YAAY;IA2EhB,OAAO,CAAC,YAAY;YAiBN,iBAAiB;IA4C/B,OAAO,CAAC,UAAU;CAgBnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-docs-search.d.ts","sourceRoot":"","sources":["src/local-docs-search.ts"],"names":[],"mappings":"AA+CA,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;CAC/C,CAAC;AAiqQF;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,UAAU,CAAiC;IAEnD,OAAO;WAKM,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAY1E,MAAM,CAAC,KAAK,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,YAAY;IA2EhB,OAAO,CAAC,YAAY;YAiBN,iBAAiB;IA4C/B,OAAO,CAAC,UAAU;CAgBnB"}
1
+ {"version":3,"file":"local-docs-search.d.ts","sourceRoot":"","sources":["src/local-docs-search.ts"],"names":[],"mappings":"AA+CA,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;CAC/C,CAAC;AA2pQF;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,UAAU,CAAiC;IAEnD,OAAO;WAKM,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAY1E,MAAM,CAAC,KAAK,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,YAAY;IA2EhB,OAAO,CAAC,YAAY;YAiBN,iBAAiB;IA4C/B,OAAO,CAAC,UAAU;CAgBnB"}
@@ -259,8 +259,8 @@ const EMBEDDED_METHODS = [
259
259
  'status?: string;',
260
260
  'subscription_id?: string;',
261
261
  ],
262
- response: "{ brand_id: string; created_at: string; currency: string; customer: { customer_id: string; email: string; name: string; metadata?: object; phone_number?: string; }; digital_products_delivered: boolean; has_license_key: boolean; metadata: object; payment_id: string; total_amount: number; dispute_status?: string; invoice_id?: string; invoice_url?: string; payment_method?: string; payment_method_type?: string; refund_status?: 'partial' | 'full'; status?: string; subscription_id?: string; }",
263
- markdown: "## list\n\n`client.payments.list(brand_id?: string, created_at_gte?: string, created_at_lte?: string, customer_id?: string, page_number?: number, page_size?: number, product_id?: string, status?: string, subscription_id?: string): { brand_id: string; created_at: string; currency: currency; customer: customer_limited_details; digital_products_delivered: boolean; has_license_key: boolean; metadata: object; payment_id: string; total_amount: number; dispute_status?: dispute_status; invoice_id?: string; invoice_url?: string; payment_method?: string; payment_method_type?: string; refund_status?: payment_refund_status; status?: intent_status; subscription_id?: string; }`\n\n**get** `/payments`\n\n### Parameters\n\n- `brand_id?: string`\n filter by Brand id\n\n- `created_at_gte?: string`\n Get events after this created time\n\n- `created_at_lte?: string`\n Get events created before this time\n\n- `customer_id?: string`\n Filter by customer id\n\n- `page_number?: number`\n Page number default is 0\n\n- `page_size?: number`\n Page size default is 10 max is 100\n\n- `product_id?: string`\n Filter by product id\n\n- `status?: string`\n Filter by status\n\n- `subscription_id?: string`\n Filter by subscription id\n\n### Returns\n\n- `{ brand_id: string; created_at: string; currency: string; customer: { customer_id: string; email: string; name: string; metadata?: object; phone_number?: string; }; digital_products_delivered: boolean; has_license_key: boolean; metadata: object; payment_id: string; total_amount: number; dispute_status?: string; invoice_id?: string; invoice_url?: string; payment_method?: string; payment_method_type?: string; refund_status?: 'partial' | 'full'; status?: string; subscription_id?: string; }`\n\n - `brand_id: string`\n - `created_at: string`\n - `currency: string`\n - `customer: { customer_id: string; email: string; name: string; metadata?: object; phone_number?: string; }`\n - `digital_products_delivered: boolean`\n - `has_license_key: boolean`\n - `metadata: object`\n - `payment_id: string`\n - `total_amount: number`\n - `dispute_status?: string`\n - `invoice_id?: string`\n - `invoice_url?: string`\n - `payment_method?: string`\n - `payment_method_type?: string`\n - `refund_status?: 'partial' | 'full'`\n - `status?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const paymentListResponse of client.payments.list()) {\n console.log(paymentListResponse);\n}\n```",
262
+ response: "{ brand_id: string; created_at: string; currency: string; customer: { customer_id: string; email: string; name: string; metadata?: object; phone_number?: string; }; digital_products_delivered: boolean; has_license_key: boolean; metadata: object; payment_id: string; payment_provider: 'stripe' | 'adyen' | 'dodo'; total_amount: number; card_last_four?: string; card_network?: string; dispute_status?: string; invoice_id?: string; invoice_url?: string; payment_method?: string; payment_method_type?: string; refund_status?: 'partial' | 'full'; status?: string; subscription_id?: string; }",
263
+ markdown: "## list\n\n`client.payments.list(brand_id?: string, created_at_gte?: string, created_at_lte?: string, customer_id?: string, page_number?: number, page_size?: number, product_id?: string, status?: string, subscription_id?: string): { brand_id: string; created_at: string; currency: currency; customer: customer_limited_details; digital_products_delivered: boolean; has_license_key: boolean; metadata: object; payment_id: string; payment_provider: 'stripe' | 'adyen' | 'dodo'; total_amount: number; card_last_four?: string; card_network?: string; dispute_status?: dispute_status; invoice_id?: string; invoice_url?: string; payment_method?: string; payment_method_type?: string; refund_status?: payment_refund_status; status?: intent_status; subscription_id?: string; }`\n\n**get** `/payments`\n\n### Parameters\n\n- `brand_id?: string`\n filter by Brand id\n\n- `created_at_gte?: string`\n Get events after this created time\n\n- `created_at_lte?: string`\n Get events created before this time\n\n- `customer_id?: string`\n Filter by customer id\n\n- `page_number?: number`\n Page number default is 0\n\n- `page_size?: number`\n Page size default is 10 max is 100\n\n- `product_id?: string`\n Filter by product id\n\n- `status?: string`\n Filter by status\n\n- `subscription_id?: string`\n Filter by subscription id\n\n### Returns\n\n- `{ brand_id: string; created_at: string; currency: string; customer: { customer_id: string; email: string; name: string; metadata?: object; phone_number?: string; }; digital_products_delivered: boolean; has_license_key: boolean; metadata: object; payment_id: string; payment_provider: 'stripe' | 'adyen' | 'dodo'; total_amount: number; card_last_four?: string; card_network?: string; dispute_status?: string; invoice_id?: string; invoice_url?: string; payment_method?: string; payment_method_type?: string; refund_status?: 'partial' | 'full'; status?: string; subscription_id?: string; }`\n\n - `brand_id: string`\n - `created_at: string`\n - `currency: string`\n - `customer: { customer_id: string; email: string; name: string; metadata?: object; phone_number?: string; }`\n - `digital_products_delivered: boolean`\n - `has_license_key: boolean`\n - `metadata: object`\n - `payment_id: string`\n - `payment_provider: 'stripe' | 'adyen' | 'dodo'`\n - `total_amount: number`\n - `card_last_four?: string`\n - `card_network?: string`\n - `dispute_status?: string`\n - `invoice_id?: string`\n - `invoice_url?: string`\n - `payment_method?: string`\n - `payment_method_type?: string`\n - `refund_status?: 'partial' | 'full'`\n - `status?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const paymentListResponse of client.payments.list()) {\n console.log(paymentListResponse);\n}\n```",
264
264
  perLanguage: {
265
265
  typescript: {
266
266
  method: 'client.payments.list',
@@ -377,8 +377,8 @@ const EMBEDDED_METHODS = [
377
377
  stainlessPath: '(resource) payments > (method) retrieve',
378
378
  qualified: 'client.payments.retrieve',
379
379
  params: ['payment_id: string;'],
380
- response: "{ billing: object; brand_id: string; business_id: string; created_at: string; currency: string; customer: object; digital_products_delivered: boolean; disputes: object[]; metadata: object; payment_id: string; refunds: object[]; retry_attempt: number; settlement_amount: number; settlement_currency: string; total_amount: number; card_holder_name?: string; card_issuing_country?: string; card_last_four?: string; card_network?: string; card_type?: string; checkout_session_id?: string; custom_field_responses?: object[]; discount_id?: string; discounts?: object[]; error_code?: string; error_message?: string; invoice_id?: string; invoice_url?: string; payment_link?: string; payment_method?: string; payment_method_type?: string; product_cart?: { product_id: string; quantity: number; }[]; refund_status?: 'partial' | 'full'; settlement_tax?: number; status?: string; subscription_id?: string; tax?: number; updated_at?: string; }",
381
- markdown: "## retrieve\n\n`client.payments.retrieve(payment_id: string): { billing: billing_address; brand_id: string; business_id: string; created_at: string; currency: currency; customer: customer_limited_details; digital_products_delivered: boolean; disputes: dispute[]; metadata: object; payment_id: string; refunds: refund_list_item[]; retry_attempt: number; settlement_amount: number; settlement_currency: currency; total_amount: number; card_holder_name?: string; card_issuing_country?: country_code; card_last_four?: string; card_network?: string; card_type?: string; checkout_session_id?: string; custom_field_responses?: custom_field_response[]; discount_id?: string; discounts?: discount_detail[]; error_code?: string; error_message?: string; invoice_id?: string; invoice_url?: string; payment_link?: string; payment_method?: string; payment_method_type?: string; product_cart?: object[]; refund_status?: payment_refund_status; settlement_tax?: number; status?: intent_status; subscription_id?: string; tax?: number; updated_at?: string; }`\n\n**get** `/payments/{payment_id}`\n\n### Parameters\n\n- `payment_id: string`\n\n### Returns\n\n- `{ billing: { country: country_code; city?: string; state?: string; street?: string; zipcode?: string; }; brand_id: string; business_id: string; created_at: string; currency: string; customer: { customer_id: string; email: string; name: string; metadata?: object; phone_number?: string; }; digital_products_delivered: boolean; disputes: { amount: string; business_id: string; created_at: string; currency: string; dispute_id: string; dispute_stage: dispute_stage; dispute_status: dispute_status; payment_id: string; is_resolved_by_rdr?: boolean; remarks?: string; }[]; metadata: object; payment_id: string; refunds: { business_id: string; created_at: string; is_partial: boolean; payment_id: string; refund_id: string; status: refund_status; amount?: number; currency?: currency; reason?: string; }[]; retry_attempt: number; settlement_amount: number; settlement_currency: string; total_amount: number; card_holder_name?: string; card_issuing_country?: string; card_last_four?: string; card_network?: string; card_type?: string; checkout_session_id?: string; custom_field_responses?: { key: string; value: string; }[]; discount_id?: string; discounts?: { amount: number; business_id: string; code: string; created_at: string; discount_id: string; metadata: object; position: number; preserve_on_plan_change: boolean; restricted_to: string[]; times_used: number; type: discount_type; cycles_remaining?: number; expires_at?: string; name?: string; subscription_cycles?: number; usage_limit?: number; }[]; error_code?: string; error_message?: string; invoice_id?: string; invoice_url?: string; payment_link?: string; payment_method?: string; payment_method_type?: string; product_cart?: { product_id: string; quantity: number; }[]; refund_status?: 'partial' | 'full'; settlement_tax?: number; status?: string; subscription_id?: string; tax?: number; updated_at?: string; }`\n\n - `billing: { country: string; city?: string; state?: string; street?: string; zipcode?: string; }`\n - `brand_id: string`\n - `business_id: string`\n - `created_at: string`\n - `currency: string`\n - `customer: { customer_id: string; email: string; name: string; metadata?: object; phone_number?: string; }`\n - `digital_products_delivered: boolean`\n - `disputes: { amount: string; business_id: string; created_at: string; currency: string; dispute_id: string; dispute_stage: 'pre_dispute' | 'dispute' | 'pre_arbitration'; dispute_status: string; payment_id: string; is_resolved_by_rdr?: boolean; remarks?: string; }[]`\n - `metadata: object`\n - `payment_id: string`\n - `refunds: { business_id: string; created_at: string; is_partial: boolean; payment_id: string; refund_id: string; status: 'succeeded' | 'failed' | 'pending' | 'review'; amount?: number; currency?: string; reason?: string; }[]`\n - `retry_attempt: number`\n - `settlement_amount: number`\n - `settlement_currency: string`\n - `total_amount: number`\n - `card_holder_name?: string`\n - `card_issuing_country?: string`\n - `card_last_four?: string`\n - `card_network?: string`\n - `card_type?: string`\n - `checkout_session_id?: string`\n - `custom_field_responses?: { key: string; value: string; }[]`\n - `discount_id?: string`\n - `discounts?: { amount: number; business_id: string; code: string; created_at: string; discount_id: string; metadata: object; position: number; preserve_on_plan_change: boolean; restricted_to: string[]; times_used: number; type: 'percentage'; cycles_remaining?: number; expires_at?: string; name?: string; subscription_cycles?: number; usage_limit?: number; }[]`\n - `error_code?: string`\n - `error_message?: string`\n - `invoice_id?: string`\n - `invoice_url?: string`\n - `payment_link?: string`\n - `payment_method?: string`\n - `payment_method_type?: string`\n - `product_cart?: { product_id: string; quantity: number; }[]`\n - `refund_status?: 'partial' | 'full'`\n - `settlement_tax?: number`\n - `status?: string`\n - `subscription_id?: string`\n - `tax?: number`\n - `updated_at?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst payment = await client.payments.retrieve('payment_id');\n\nconsole.log(payment);\n```",
380
+ response: "{ billing: object; brand_id: string; business_id: string; created_at: string; currency: string; customer: object; digital_products_delivered: boolean; disputes: object[]; metadata: object; payment_id: string; payment_provider: 'stripe' | 'adyen' | 'dodo'; refunds: object[]; retry_attempt: number; settlement_amount: number; settlement_currency: string; total_amount: number; card_holder_name?: string; card_issuing_country?: string; card_last_four?: string; card_network?: string; card_type?: string; checkout_session_id?: string; custom_field_responses?: object[]; discount_id?: string; discounts?: object[]; error_code?: string; error_message?: string; invoice_id?: string; invoice_url?: string; payment_link?: string; payment_method?: string; payment_method_type?: string; product_cart?: { product_id: string; quantity: number; }[]; refund_status?: 'partial' | 'full'; settlement_tax?: number; status?: string; subscription_id?: string; tax?: number; updated_at?: string; }",
381
+ markdown: "## retrieve\n\n`client.payments.retrieve(payment_id: string): { billing: billing_address; brand_id: string; business_id: string; created_at: string; currency: currency; customer: customer_limited_details; digital_products_delivered: boolean; disputes: dispute[]; metadata: object; payment_id: string; payment_provider: 'stripe' | 'adyen' | 'dodo'; refunds: refund_list_item[]; retry_attempt: number; settlement_amount: number; settlement_currency: currency; total_amount: number; card_holder_name?: string; card_issuing_country?: country_code; card_last_four?: string; card_network?: string; card_type?: string; checkout_session_id?: string; custom_field_responses?: custom_field_response[]; discount_id?: string; discounts?: discount_detail[]; error_code?: string; error_message?: string; invoice_id?: string; invoice_url?: string; payment_link?: string; payment_method?: string; payment_method_type?: string; product_cart?: object[]; refund_status?: payment_refund_status; settlement_tax?: number; status?: intent_status; subscription_id?: string; tax?: number; updated_at?: string; }`\n\n**get** `/payments/{payment_id}`\n\n### Parameters\n\n- `payment_id: string`\n\n### Returns\n\n- `{ billing: { country: country_code; city?: string; state?: string; street?: string; zipcode?: string; }; brand_id: string; business_id: string; created_at: string; currency: string; customer: { customer_id: string; email: string; name: string; metadata?: object; phone_number?: string; }; digital_products_delivered: boolean; disputes: { amount: string; business_id: string; created_at: string; currency: string; dispute_id: string; dispute_stage: dispute_stage; dispute_status: dispute_status; payment_id: string; is_resolved_by_rdr?: boolean; remarks?: string; }[]; metadata: object; payment_id: string; payment_provider: 'stripe' | 'adyen' | 'dodo'; refunds: { business_id: string; created_at: string; is_partial: boolean; payment_id: string; refund_id: string; status: refund_status; amount?: number; currency?: currency; reason?: string; }[]; retry_attempt: number; settlement_amount: number; settlement_currency: string; total_amount: number; card_holder_name?: string; card_issuing_country?: string; card_last_four?: string; card_network?: string; card_type?: string; checkout_session_id?: string; custom_field_responses?: { key: string; value: string; }[]; discount_id?: string; discounts?: { amount: number; business_id: string; code: string; created_at: string; discount_id: string; metadata: object; position: number; preserve_on_plan_change: boolean; restricted_to: string[]; times_used: number; type: discount_type; cycles_remaining?: number; expires_at?: string; name?: string; subscription_cycles?: number; usage_limit?: number; }[]; error_code?: string; error_message?: string; invoice_id?: string; invoice_url?: string; payment_link?: string; payment_method?: string; payment_method_type?: string; product_cart?: { product_id: string; quantity: number; }[]; refund_status?: 'partial' | 'full'; settlement_tax?: number; status?: string; subscription_id?: string; tax?: number; updated_at?: string; }`\n\n - `billing: { country: string; city?: string; state?: string; street?: string; zipcode?: string; }`\n - `brand_id: string`\n - `business_id: string`\n - `created_at: string`\n - `currency: string`\n - `customer: { customer_id: string; email: string; name: string; metadata?: object; phone_number?: string; }`\n - `digital_products_delivered: boolean`\n - `disputes: { amount: string; business_id: string; created_at: string; currency: string; dispute_id: string; dispute_stage: 'pre_dispute' | 'dispute' | 'pre_arbitration'; dispute_status: string; payment_id: string; is_resolved_by_rdr?: boolean; remarks?: string; }[]`\n - `metadata: object`\n - `payment_id: string`\n - `payment_provider: 'stripe' | 'adyen' | 'dodo'`\n - `refunds: { business_id: string; created_at: string; is_partial: boolean; payment_id: string; refund_id: string; status: 'succeeded' | 'failed' | 'pending' | 'review'; amount?: number; currency?: string; reason?: string; }[]`\n - `retry_attempt: number`\n - `settlement_amount: number`\n - `settlement_currency: string`\n - `total_amount: number`\n - `card_holder_name?: string`\n - `card_issuing_country?: string`\n - `card_last_four?: string`\n - `card_network?: string`\n - `card_type?: string`\n - `checkout_session_id?: string`\n - `custom_field_responses?: { key: string; value: string; }[]`\n - `discount_id?: string`\n - `discounts?: { amount: number; business_id: string; code: string; created_at: string; discount_id: string; metadata: object; position: number; preserve_on_plan_change: boolean; restricted_to: string[]; times_used: number; type: 'percentage'; cycles_remaining?: number; expires_at?: string; name?: string; subscription_cycles?: number; usage_limit?: number; }[]`\n - `error_code?: string`\n - `error_message?: string`\n - `invoice_id?: string`\n - `invoice_url?: string`\n - `payment_link?: string`\n - `payment_method?: string`\n - `payment_method_type?: string`\n - `product_cart?: { product_id: string; quantity: number; }[]`\n - `refund_status?: 'partial' | 'full'`\n - `settlement_tax?: number`\n - `status?: string`\n - `subscription_id?: string`\n - `tax?: number`\n - `updated_at?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst payment = await client.payments.retrieve('payment_id');\n\nconsole.log(payment);\n```",
382
382
  perLanguage: {
383
383
  typescript: {
384
384
  method: 'client.payments.retrieve',
@@ -894,17 +894,17 @@ const EMBEDDED_METHODS = [
894
894
  qualified: 'client.subscriptions.updatePaymentMethod',
895
895
  params: [
896
896
  'subscription_id: string;',
897
- "payment_method: { type: 'new'; return_url?: string; } | { payment_method_id: string; type: 'existing'; };",
897
+ "payment_method: { type: 'new'; allowed_payment_method_types?: string[]; return_url?: string; } | { payment_method_id: string; type: 'existing'; };",
898
898
  ],
899
899
  response: '{ client_secret?: string; expires_on?: string; payment_id?: string; payment_link?: string; }',
900
- markdown: "## update_payment_method\n\n`client.subscriptions.updatePaymentMethod(subscription_id: string, payment_method: { type: 'new'; return_url?: string; } | { payment_method_id: string; type: 'existing'; }): { client_secret?: string; expires_on?: string; payment_id?: string; payment_link?: string; }`\n\n**post** `/subscriptions/{subscription_id}/update-payment-method`\n\n### Parameters\n\n- `subscription_id: string`\n\n- `payment_method: { type: 'new'; return_url?: string; } | { payment_method_id: string; type: 'existing'; }`\n\n### Returns\n\n- `{ client_secret?: string; expires_on?: string; payment_id?: string; payment_link?: string; }`\n\n - `client_secret?: string`\n - `expires_on?: string`\n - `payment_id?: string`\n - `payment_link?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst response = await client.subscriptions.updatePaymentMethod('subscription_id', { payment_method: { type: 'new' } });\n\nconsole.log(response);\n```",
900
+ markdown: "## update_payment_method\n\n`client.subscriptions.updatePaymentMethod(subscription_id: string, payment_method: { type: 'new'; allowed_payment_method_types?: string[]; return_url?: string; } | { payment_method_id: string; type: 'existing'; }): { client_secret?: string; expires_on?: string; payment_id?: string; payment_link?: string; }`\n\n**post** `/subscriptions/{subscription_id}/update-payment-method`\n\n### Parameters\n\n- `subscription_id: string`\n\n- `payment_method: { type: 'new'; allowed_payment_method_types?: string[]; return_url?: string; } | { payment_method_id: string; type: 'existing'; }`\n\n### Returns\n\n- `{ client_secret?: string; expires_on?: string; payment_id?: string; payment_link?: string; }`\n\n - `client_secret?: string`\n - `expires_on?: string`\n - `payment_id?: string`\n - `payment_link?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst response = await client.subscriptions.updatePaymentMethod('subscription_id', { payment_method: { type: 'new' } });\n\nconsole.log(response);\n```",
901
901
  perLanguage: {
902
902
  typescript: {
903
903
  method: 'client.subscriptions.updatePaymentMethod',
904
904
  example: "import DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments({\n bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted\n});\n\nconst response = await client.subscriptions.updatePaymentMethod('subscription_id', {\n payment_method: { type: 'new' },\n});\n\nconsole.log(response.payment_id);",
905
905
  },
906
906
  http: {
907
- example: 'curl https://live.dodopayments.com/subscriptions/$SUBSCRIPTION_ID/update-payment-method \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $DODO_PAYMENTS_API_KEY" \\\n -d \'{\n "type": "new",\n "return_url": "return_url"\n }\'',
907
+ example: 'curl https://live.dodopayments.com/subscriptions/$SUBSCRIPTION_ID/update-payment-method \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $DODO_PAYMENTS_API_KEY" \\\n -d \'{\n "type": "new",\n "allowed_payment_method_types": [\n "ach"\n ],\n "return_url": "return_url"\n }\'',
908
908
  },
909
909
  python: {
910
910
  method: 'subscriptions.update_payment_method',
@@ -928,11 +928,11 @@ const EMBEDDED_METHODS = [
928
928
  },
929
929
  php: {
930
930
  method: 'subscriptions->updatePaymentMethod',
931
- example: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\n$client = new Client(bearerToken: 'My Bearer Token', environment: 'test_mode');\n\n$response = $client->subscriptions->updatePaymentMethod(\n 'subscription_id',\n paymentMethod: ['type' => 'new', 'returnURL' => 'return_url'],\n);\n\nvar_dump($response);",
931
+ example: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\n$client = new Client(bearerToken: 'My Bearer Token', environment: 'test_mode');\n\n$response = $client->subscriptions->updatePaymentMethod(\n 'subscription_id',\n paymentMethod: [\n 'type' => 'new',\n 'allowedPaymentMethodTypes' => [PaymentMethodTypes::ACH],\n 'returnURL' => 'return_url',\n ],\n);\n\nvar_dump($response);",
932
932
  },
933
933
  csharp: {
934
934
  method: 'Subscriptions.UpdatePaymentMethod',
935
- example: 'SubscriptionUpdatePaymentMethodParams parameters = new()\n{\n SubscriptionID = "subscription_id",\n PaymentMethod = new New() { ReturnUrl = "return_url" },\n};\n\nvar response = await client.Subscriptions.UpdatePaymentMethod(parameters);\n\nConsole.WriteLine(response);',
935
+ example: 'SubscriptionUpdatePaymentMethodParams parameters = new()\n{\n SubscriptionID = "subscription_id",\n PaymentMethod = new New()\n {\n AllowedPaymentMethodTypes =\n [\n PaymentMethodTypes.Ach\n ],\n ReturnUrl = "return_url",\n },\n};\n\nvar response = await client.Subscriptions.UpdatePaymentMethod(parameters);\n\nConsole.WriteLine(response);',
936
936
  },
937
937
  },
938
938
  },
@@ -1402,11 +1402,11 @@ const EMBEDDED_METHODS = [
1402
1402
  'page_number?: number;',
1403
1403
  'page_size?: number;',
1404
1404
  'product_id?: string;',
1405
- "source?: 'auto' | 'import';",
1405
+ "source?: 'auto' | 'import' | 'manual';",
1406
1406
  "status?: 'active' | 'expired' | 'disabled';",
1407
1407
  ],
1408
- response: "{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }",
1409
- markdown: "## list\n\n`client.licenseKeys.list(created_at_gte?: string, created_at_lte?: string, customer_id?: string, page_number?: number, page_size?: number, product_id?: string, source?: 'auto' | 'import', status?: 'active' | 'expired' | 'disabled'): { id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: license_key_status; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n**get** `/license_keys`\n\n### Parameters\n\n- `created_at_gte?: string`\n Filter license keys created on or after this timestamp\n\n- `created_at_lte?: string`\n Filter license keys created on or before this timestamp\n\n- `customer_id?: string`\n Filter by customer ID\n\n- `page_number?: number`\n Page number default is 0\n\n- `page_size?: number`\n Page size default is 10 max is 100\n\n- `product_id?: string`\n Filter by product ID\n\n- `source?: 'auto' | 'import'`\n Filter by license key source\n\n- `status?: 'active' | 'expired' | 'disabled'`\n Filter by license key status\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `instances_count: number`\n - `key: string`\n - `product_id: string`\n - `source: 'auto' | 'import'`\n - `status: 'active' | 'expired' | 'disabled'`\n - `activations_limit?: number`\n - `expires_at?: string`\n - `payment_id?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const licenseKey of client.licenseKeys.list()) {\n console.log(licenseKey);\n}\n```",
1408
+ response: "{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }",
1409
+ markdown: "## list\n\n`client.licenseKeys.list(created_at_gte?: string, created_at_lte?: string, customer_id?: string, page_number?: number, page_size?: number, product_id?: string, source?: 'auto' | 'import' | 'manual', status?: 'active' | 'expired' | 'disabled'): { id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: license_key_status; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n**get** `/license_keys`\n\n### Parameters\n\n- `created_at_gte?: string`\n Filter license keys created on or after this timestamp\n\n- `created_at_lte?: string`\n Filter license keys created on or before this timestamp\n\n- `customer_id?: string`\n Filter by customer ID\n\n- `page_number?: number`\n Page number default is 0\n\n- `page_size?: number`\n Page size default is 10 max is 100\n\n- `product_id?: string`\n Filter by product ID\n\n- `source?: 'auto' | 'import' | 'manual'`\n Filter by license key source\n\n- `status?: 'active' | 'expired' | 'disabled'`\n Filter by license key status\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `instances_count: number`\n - `key: string`\n - `product_id: string`\n - `source: 'auto' | 'import' | 'manual'`\n - `status: 'active' | 'expired' | 'disabled'`\n - `activations_limit?: number`\n - `expires_at?: string`\n - `payment_id?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const licenseKey of client.licenseKeys.list()) {\n console.log(licenseKey);\n}\n```",
1410
1410
  perLanguage: {
1411
1411
  typescript: {
1412
1412
  method: 'client.licenseKeys.list',
@@ -1454,8 +1454,8 @@ const EMBEDDED_METHODS = [
1454
1454
  stainlessPath: '(resource) license_keys > (method) retrieve',
1455
1455
  qualified: 'client.licenseKeys.retrieve',
1456
1456
  params: ['id: string;'],
1457
- response: "{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }",
1458
- markdown: "## retrieve\n\n`client.licenseKeys.retrieve(id: string): { id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: license_key_status; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n**get** `/license_keys/{id}`\n\n### Parameters\n\n- `id: string`\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `instances_count: number`\n - `key: string`\n - `product_id: string`\n - `source: 'auto' | 'import'`\n - `status: 'active' | 'expired' | 'disabled'`\n - `activations_limit?: number`\n - `expires_at?: string`\n - `payment_id?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst licenseKey = await client.licenseKeys.retrieve('lic_123');\n\nconsole.log(licenseKey);\n```",
1457
+ response: "{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }",
1458
+ markdown: "## retrieve\n\n`client.licenseKeys.retrieve(id: string): { id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: license_key_status; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n**get** `/license_keys/{id}`\n\n### Parameters\n\n- `id: string`\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `instances_count: number`\n - `key: string`\n - `product_id: string`\n - `source: 'auto' | 'import' | 'manual'`\n - `status: 'active' | 'expired' | 'disabled'`\n - `activations_limit?: number`\n - `expires_at?: string`\n - `payment_id?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst licenseKey = await client.licenseKeys.retrieve('lic_123');\n\nconsole.log(licenseKey);\n```",
1459
1459
  perLanguage: {
1460
1460
  typescript: {
1461
1461
  method: 'client.licenseKeys.retrieve',
@@ -1503,8 +1503,8 @@ const EMBEDDED_METHODS = [
1503
1503
  stainlessPath: '(resource) license_keys > (method) update',
1504
1504
  qualified: 'client.licenseKeys.update',
1505
1505
  params: ['id: string;', 'activations_limit?: number;', 'disabled?: boolean;', 'expires_at?: string;'],
1506
- response: "{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }",
1507
- markdown: "## update\n\n`client.licenseKeys.update(id: string, activations_limit?: number, disabled?: boolean, expires_at?: string): { id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: license_key_status; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n**patch** `/license_keys/{id}`\n\n### Parameters\n\n- `id: string`\n\n- `activations_limit?: number`\n The updated activation limit for the license key.\nUse `null` to remove the limit, or omit this field to leave it unchanged.\n\n- `disabled?: boolean`\n Indicates whether the license key should be disabled.\nA value of `true` disables the key, while `false` enables it. Omit this field to leave it unchanged.\n\n- `expires_at?: string`\n The updated expiration timestamp for the license key in UTC.\nUse `null` to remove the expiration date, or omit this field to leave it unchanged.\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `instances_count: number`\n - `key: string`\n - `product_id: string`\n - `source: 'auto' | 'import'`\n - `status: 'active' | 'expired' | 'disabled'`\n - `activations_limit?: number`\n - `expires_at?: string`\n - `payment_id?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst licenseKey = await client.licenseKeys.update('lic_123');\n\nconsole.log(licenseKey);\n```",
1506
+ response: "{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }",
1507
+ markdown: "## update\n\n`client.licenseKeys.update(id: string, activations_limit?: number, disabled?: boolean, expires_at?: string): { id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: license_key_status; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n**patch** `/license_keys/{id}`\n\n### Parameters\n\n- `id: string`\n\n- `activations_limit?: number`\n The updated activation limit for the license key.\nUse `null` to remove the limit, or omit this field to leave it unchanged.\n\n- `disabled?: boolean`\n Indicates whether the license key should be disabled.\nA value of `true` disables the key, while `false` enables it. Omit this field to leave it unchanged.\n\n- `expires_at?: string`\n The updated expiration timestamp for the license key in UTC.\nUse `null` to remove the expiration date, or omit this field to leave it unchanged.\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `instances_count: number`\n - `key: string`\n - `product_id: string`\n - `source: 'auto' | 'import' | 'manual'`\n - `status: 'active' | 'expired' | 'disabled'`\n - `activations_limit?: number`\n - `expires_at?: string`\n - `payment_id?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst licenseKey = await client.licenseKeys.update('lic_123');\n\nconsole.log(licenseKey);\n```",
1508
1508
  perLanguage: {
1509
1509
  typescript: {
1510
1510
  method: 'client.licenseKeys.update',
@@ -1558,8 +1558,8 @@ const EMBEDDED_METHODS = [
1558
1558
  'activations_limit?: number;',
1559
1559
  'expires_at?: string;',
1560
1560
  ],
1561
- response: "{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }",
1562
- markdown: "## create\n\n`client.licenseKeys.create(customer_id: string, key: string, product_id: string, activations_limit?: number, expires_at?: string): { id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: license_key_status; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n**post** `/license_keys`\n\n### Parameters\n\n- `customer_id: string`\n The customer this license key belongs to.\n\n- `key: string`\n The license key string to import.\n\n- `product_id: string`\n The product this license key is for.\n\n- `activations_limit?: number`\n Maximum number of activations allowed. Null means unlimited.\n\n- `expires_at?: string`\n Expiration timestamp. Null means the key never expires.\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `instances_count: number`\n - `key: string`\n - `product_id: string`\n - `source: 'auto' | 'import'`\n - `status: 'active' | 'expired' | 'disabled'`\n - `activations_limit?: number`\n - `expires_at?: string`\n - `payment_id?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst licenseKey = await client.licenseKeys.create({\n customer_id: 'customer_id',\n key: 'key',\n product_id: 'product_id',\n});\n\nconsole.log(licenseKey);\n```",
1561
+ response: "{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }",
1562
+ markdown: "## create\n\n`client.licenseKeys.create(customer_id: string, key: string, product_id: string, activations_limit?: number, expires_at?: string): { id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: license_key_status; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n**post** `/license_keys`\n\n### Parameters\n\n- `customer_id: string`\n The customer this license key belongs to.\n\n- `key: string`\n The license key string to import.\n\n- `product_id: string`\n The product this license key is for.\n\n- `activations_limit?: number`\n Maximum number of activations allowed. Null means unlimited.\n\n- `expires_at?: string`\n Expiration timestamp. Null means the key never expires.\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; instances_count: number; key: string; product_id: string; source: 'auto' | 'import' | 'manual'; status: 'active' | 'expired' | 'disabled'; activations_limit?: number; expires_at?: string; payment_id?: string; subscription_id?: string; }`\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `instances_count: number`\n - `key: string`\n - `product_id: string`\n - `source: 'auto' | 'import' | 'manual'`\n - `status: 'active' | 'expired' | 'disabled'`\n - `activations_limit?: number`\n - `expires_at?: string`\n - `payment_id?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst licenseKey = await client.licenseKeys.create({\n customer_id: 'customer_id',\n key: 'key',\n product_id: 'product_id',\n});\n\nconsole.log(licenseKey);\n```",
1563
1563
  perLanguage: {
1564
1564
  typescript: {
1565
1565
  method: 'client.licenseKeys.create',
@@ -2534,8 +2534,8 @@ const EMBEDDED_METHODS = [
2534
2534
  'page_number?: number;',
2535
2535
  'page_size?: number;',
2536
2536
  ],
2537
- response: "{ amount: string; business_id: string; created_at: string; currency: string; dispute_id: string; dispute_stage: 'pre_dispute' | 'dispute' | 'pre_arbitration'; dispute_status: string; payment_id: string; is_resolved_by_rdr?: boolean; }",
2538
- markdown: "## list\n\n`client.disputes.list(created_at_gte?: string, created_at_lte?: string, customer_id?: string, dispute_stage?: 'pre_dispute' | 'dispute' | 'pre_arbitration', dispute_status?: string, page_number?: number, page_size?: number): { amount: string; business_id: string; created_at: string; currency: string; dispute_id: string; dispute_stage: dispute_stage; dispute_status: dispute_status; payment_id: string; is_resolved_by_rdr?: boolean; }`\n\n**get** `/disputes`\n\n### Parameters\n\n- `created_at_gte?: string`\n Get events after this created time\n\n- `created_at_lte?: string`\n Get events created before this time\n\n- `customer_id?: string`\n Filter by customer_id\n\n- `dispute_stage?: 'pre_dispute' | 'dispute' | 'pre_arbitration'`\n Filter by dispute stage\n\n- `dispute_status?: string`\n Filter by dispute status\n\n- `page_number?: number`\n Page number default is 0\n\n- `page_size?: number`\n Page size default is 10 max is 100\n\n### Returns\n\n- `{ amount: string; business_id: string; created_at: string; currency: string; dispute_id: string; dispute_stage: 'pre_dispute' | 'dispute' | 'pre_arbitration'; dispute_status: string; payment_id: string; is_resolved_by_rdr?: boolean; }`\n\n - `amount: string`\n - `business_id: string`\n - `created_at: string`\n - `currency: string`\n - `dispute_id: string`\n - `dispute_stage: 'pre_dispute' | 'dispute' | 'pre_arbitration'`\n - `dispute_status: string`\n - `payment_id: string`\n - `is_resolved_by_rdr?: boolean`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const disputeListResponse of client.disputes.list()) {\n console.log(disputeListResponse);\n}\n```",
2537
+ response: "{ amount: string; business_id: string; created_at: string; currency: string; dispute_id: string; dispute_stage: 'pre_dispute' | 'dispute' | 'pre_arbitration'; dispute_status: string; payment_id: string; payment_provider: 'stripe' | 'adyen' | 'dodo'; is_resolved_by_rdr?: boolean; }",
2538
+ markdown: "## list\n\n`client.disputes.list(created_at_gte?: string, created_at_lte?: string, customer_id?: string, dispute_stage?: 'pre_dispute' | 'dispute' | 'pre_arbitration', dispute_status?: string, page_number?: number, page_size?: number): { amount: string; business_id: string; created_at: string; currency: string; dispute_id: string; dispute_stage: dispute_stage; dispute_status: dispute_status; payment_id: string; payment_provider: 'stripe' | 'adyen' | 'dodo'; is_resolved_by_rdr?: boolean; }`\n\n**get** `/disputes`\n\n### Parameters\n\n- `created_at_gte?: string`\n Get events after this created time\n\n- `created_at_lte?: string`\n Get events created before this time\n\n- `customer_id?: string`\n Filter by customer_id\n\n- `dispute_stage?: 'pre_dispute' | 'dispute' | 'pre_arbitration'`\n Filter by dispute stage\n\n- `dispute_status?: string`\n Filter by dispute status\n\n- `page_number?: number`\n Page number default is 0\n\n- `page_size?: number`\n Page size default is 10 max is 100\n\n### Returns\n\n- `{ amount: string; business_id: string; created_at: string; currency: string; dispute_id: string; dispute_stage: 'pre_dispute' | 'dispute' | 'pre_arbitration'; dispute_status: string; payment_id: string; payment_provider: 'stripe' | 'adyen' | 'dodo'; is_resolved_by_rdr?: boolean; }`\n\n - `amount: string`\n - `business_id: string`\n - `created_at: string`\n - `currency: string`\n - `dispute_id: string`\n - `dispute_stage: 'pre_dispute' | 'dispute' | 'pre_arbitration'`\n - `dispute_status: string`\n - `payment_id: string`\n - `payment_provider: 'stripe' | 'adyen' | 'dodo'`\n - `is_resolved_by_rdr?: boolean`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const disputeListResponse of client.disputes.list()) {\n console.log(disputeListResponse);\n}\n```",
2539
2539
  perLanguage: {
2540
2540
  typescript: {
2541
2541
  method: 'client.disputes.list',
@@ -2839,7 +2839,7 @@ const EMBEDDED_METHODS = [
2839
2839
  'recurring?: boolean;',
2840
2840
  ],
2841
2841
  response: "{ business_id: string; created_at: string; entitlements: object[]; is_recurring: boolean; metadata: object; product_id: string; tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'; updated_at: string; currency?: string; description?: string; image?: string; name?: string; price?: number; price_detail?: object | object | object; tax_inclusive?: boolean; }",
2842
- markdown: "## list\n\n`client.products.list(archived?: boolean, brand_id?: string, page_number?: number, page_size?: number, recurring?: boolean): { business_id: string; created_at: string; entitlements: product_entitlement_summary[]; is_recurring: boolean; metadata: object; product_id: string; tax_category: tax_category; updated_at: string; currency?: currency; description?: string; image?: string; name?: string; price?: number; price_detail?: price; tax_inclusive?: boolean; }`\n\n**get** `/products`\n\n### Parameters\n\n- `archived?: boolean`\n List archived products\n\n- `brand_id?: string`\n filter by Brand id\n\n- `page_number?: number`\n Page number default is 0\n\n- `page_size?: number`\n Page size default is 10 max is 100\n\n- `recurring?: boolean`\n Filter products by pricing type:\n- `true`: Show only recurring pricing products (e.g. subscriptions)\n- `false`: Show only one-time price products\n- `null` or absent: Show both types of products\n\n### Returns\n\n- `{ business_id: string; created_at: string; entitlements: { id: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; name: string; description?: string; }[]; is_recurring: boolean; metadata: object; product_id: string; tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'; updated_at: string; currency?: string; description?: string; image?: string; name?: string; price?: number; price_detail?: { currency: currency; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: currency; discount: number; payment_frequency_count: number; payment_frequency_interval: time_interval; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: currency; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: time_interval; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'usage_based_price'; meters?: add_meter_to_price[]; tax_inclusive?: boolean; }; tax_inclusive?: boolean; }`\n\n - `business_id: string`\n - `created_at: string`\n - `entitlements: { id: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; name: string; description?: string; }[]`\n - `is_recurring: boolean`\n - `metadata: object`\n - `product_id: string`\n - `tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'`\n - `updated_at: string`\n - `currency?: string`\n - `description?: string`\n - `image?: string`\n - `name?: string`\n - `price?: number`\n - `price_detail?: { currency: string; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: string; discount: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: string; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'usage_based_price'; meters?: { meter_id: string; credit_entitlement_id?: string; description?: string; free_threshold?: number; measurement_unit?: string; meter_units_per_credit?: string; name?: string; price_per_unit?: string; }[]; tax_inclusive?: boolean; }`\n - `tax_inclusive?: boolean`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const productListResponse of client.products.list()) {\n console.log(productListResponse);\n}\n```",
2842
+ markdown: "## list\n\n`client.products.list(archived?: boolean, brand_id?: string, page_number?: number, page_size?: number, recurring?: boolean): { business_id: string; created_at: string; entitlements: product_entitlement_summary[]; is_recurring: boolean; metadata: object; product_id: string; tax_category: tax_category; updated_at: string; currency?: currency; description?: string; image?: string; name?: string; price?: number; price_detail?: price; tax_inclusive?: boolean; }`\n\n**get** `/products`\n\n### Parameters\n\n- `archived?: boolean`\n List archived products\n\n- `brand_id?: string`\n filter by Brand id\n\n- `page_number?: number`\n Page number default is 0\n\n- `page_size?: number`\n Page size default is 10 max is 100\n\n- `recurring?: boolean`\n Filter products by pricing type:\n- `true`: Show only recurring pricing products (e.g. subscriptions)\n- `false`: Show only one-time price products\n- `null` or absent: Show both types of products\n\n### Returns\n\n- `{ business_id: string; created_at: string; entitlements: { id: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; name: string; description?: string; }[]; is_recurring: boolean; metadata: object; product_id: string; tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'; updated_at: string; currency?: string; description?: string; image?: string; name?: string; price?: number; price_detail?: { currency: currency; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: currency; discount: number; payment_frequency_count: number; payment_frequency_interval: time_interval; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: currency; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: time_interval; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'usage_based_price'; meters?: add_meter_to_price[]; tax_inclusive?: boolean; }; tax_inclusive?: boolean; }`\n\n - `business_id: string`\n - `created_at: string`\n - `entitlements: { id: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; name: string; description?: string; }[]`\n - `is_recurring: boolean`\n - `metadata: object`\n - `product_id: string`\n - `tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'`\n - `updated_at: string`\n - `currency?: string`\n - `description?: string`\n - `image?: string`\n - `name?: string`\n - `price?: number`\n - `price_detail?: { currency: string; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: string; discount: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: string; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'usage_based_price'; meters?: { meter_id: string; credit_entitlement_id?: string; description?: string; free_threshold?: number; measurement_unit?: string; meter_units_per_credit?: string; name?: string; price_per_unit?: string; }[]; tax_inclusive?: boolean; }`\n - `tax_inclusive?: boolean`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const productListResponse of client.products.list()) {\n console.log(productListResponse);\n}\n```",
2843
2843
  perLanguage: {
2844
2844
  typescript: {
2845
2845
  method: 'client.products.list',
@@ -2903,7 +2903,7 @@ const EMBEDDED_METHODS = [
2903
2903
  'metadata?: object;',
2904
2904
  ],
2905
2905
  response: "{ brand_id: string; business_id: string; created_at: string; credit_entitlements: object[]; entitlements: object[]; is_recurring: boolean; license_key_enabled: boolean; metadata: object; price: object | object | object; product_id: string; tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'; updated_at: string; addons?: string[]; description?: string; digital_product_delivery?: object; image?: string; license_key_activation_message?: string; license_key_activations_limit?: number; license_key_duration?: object; name?: string; product_collection_id?: string; }",
2906
- markdown: "## create\n\n`client.products.create(name: string, price: { currency: currency; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: currency; discount: number; payment_frequency_count: number; payment_frequency_interval: time_interval; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: currency; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: time_interval; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'usage_based_price'; meters?: add_meter_to_price[]; tax_inclusive?: boolean; }, tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech', addons?: string[], brand_id?: string, credit_entitlements?: { credit_entitlement_id: string; credits_amount: string; currency?: currency; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_behavior?: cbb_overage_behavior; overage_enabled?: boolean; overage_limit?: string; price_per_unit?: string; proration_behavior?: cbb_proration_behavior; rollover_enabled?: boolean; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: time_interval; trial_credits?: string; trial_credits_expire_after_trial?: boolean; }[], description?: string, digital_product_delivery?: { external_url?: string; instructions?: string; }, entitlements?: { entitlement_id: string; }[], license_key_activation_message?: string, license_key_activations_limit?: number, license_key_duration?: { count: number; interval: time_interval; }, license_key_enabled?: boolean, metadata?: object): { brand_id: string; business_id: string; created_at: string; credit_entitlements: credit_entitlement_mapping_response[]; entitlements: product_entitlement_summary[]; is_recurring: boolean; license_key_enabled: boolean; metadata: object; price: price; product_id: string; tax_category: tax_category; updated_at: string; addons?: string[]; description?: string; digital_product_delivery?: digital_product_delivery; image?: string; license_key_activation_message?: string; license_key_activations_limit?: number; license_key_duration?: license_key_duration; name?: string; product_collection_id?: string; }`\n\n**post** `/products`\n\n### Parameters\n\n- `name: string`\n Name of the product\n\n- `price: { currency: string; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: string; discount: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: string; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'usage_based_price'; meters?: { meter_id: string; credit_entitlement_id?: string; description?: string; free_threshold?: number; measurement_unit?: string; meter_units_per_credit?: string; name?: string; price_per_unit?: string; }[]; tax_inclusive?: boolean; }`\n Price configuration for the product\n\n- `tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'`\n Tax category applied to this product\n\n- `addons?: string[]`\n Addons available for subscription product\n\n- `brand_id?: string`\n Brand id for the product, if not provided will default to primary brand\n\n- `credit_entitlements?: { credit_entitlement_id: string; credits_amount: string; currency?: string; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_behavior?: 'forgive_at_reset' | 'invoice_at_billing' | 'carry_deficit' | 'carry_deficit_auto_repay'; overage_enabled?: boolean; overage_limit?: string; price_per_unit?: string; proration_behavior?: 'prorate' | 'no_prorate'; rollover_enabled?: boolean; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: 'Day' | 'Week' | 'Month' | 'Year'; trial_credits?: string; trial_credits_expire_after_trial?: boolean; }[]`\n Optional credit entitlements to attach (max 3)\n\n- `description?: string`\n Optional description of the product\n\n- `digital_product_delivery?: { external_url?: string; instructions?: string; }`\n Choose how you would like you digital product delivered\n\ndeprecated: use entitlements instead\n - `external_url?: string`\n External URL to digital product\n - `instructions?: string`\n Instructions to download and use the digital product\n\n- `entitlements?: { entitlement_id: string; }[]`\n Optional entitlements to attach to this product (max 20)\n\n- `license_key_activation_message?: string`\n Optional message displayed during license key activation\n\ndeprecated: use entitlements instead. Ignored when a `license_key`\nentitlement is attached via the `entitlements` field.\n\n- `license_key_activations_limit?: number`\n The number of times the license key can be activated.\nMust be 0 or greater\n\ndeprecated: use entitlements instead. Ignored when a `license_key`\nentitlement is attached via the `entitlements` field.\n\n- `license_key_duration?: { count: number; interval: 'Day' | 'Week' | 'Month' | 'Year'; }`\n Duration configuration for the license key.\nSet to null if you don't want the license key to expire.\nFor subscriptions, the lifetime of the license key is tied to the subscription period\n\ndeprecated: use entitlements instead. Ignored when a `license_key`\nentitlement is attached via the `entitlements` field.\n - `count: number`\n - `interval: 'Day' | 'Week' | 'Month' | 'Year'`\n\n- `license_key_enabled?: boolean`\n When true, generates and sends a license key to your customer.\nDefaults to false\n\ndeprecated: use entitlements instead. If a `license_key` entitlement is\nalso attached via the `entitlements` field, the `license_key_*` config\nfields below are ignored — the attached entitlement's config is the\nsource of truth.\n\n- `metadata?: object`\n Additional metadata for the product\n\n### Returns\n\n- `{ brand_id: string; business_id: string; created_at: string; credit_entitlements: { id: string; credit_entitlement_id: string; credit_entitlement_name: string; credit_entitlement_unit: string; credits_amount: string; overage_behavior: cbb_overage_behavior; overage_enabled: boolean; proration_behavior: cbb_proration_behavior; rollover_enabled: boolean; trial_credits_expire_after_trial: boolean; currency?: currency; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_limit?: string; price_per_unit?: string; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: time_interval; trial_credits?: string; }[]; entitlements: { id: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; name: string; description?: string; }[]; is_recurring: boolean; license_key_enabled: boolean; metadata: object; price: { currency: currency; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: currency; discount: number; payment_frequency_count: number; payment_frequency_interval: time_interval; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: currency; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: time_interval; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'usage_based_price'; meters?: add_meter_to_price[]; tax_inclusive?: boolean; }; product_id: string; tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'; updated_at: string; addons?: string[]; description?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; image?: string; license_key_activation_message?: string; license_key_activations_limit?: number; license_key_duration?: { count: number; interval: time_interval; }; name?: string; product_collection_id?: string; }`\n\n - `brand_id: string`\n - `business_id: string`\n - `created_at: string`\n - `credit_entitlements: { id: string; credit_entitlement_id: string; credit_entitlement_name: string; credit_entitlement_unit: string; credits_amount: string; overage_behavior: 'forgive_at_reset' | 'invoice_at_billing' | 'carry_deficit' | 'carry_deficit_auto_repay'; overage_enabled: boolean; proration_behavior: 'prorate' | 'no_prorate'; rollover_enabled: boolean; trial_credits_expire_after_trial: boolean; currency?: string; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_limit?: string; price_per_unit?: string; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: 'Day' | 'Week' | 'Month' | 'Year'; trial_credits?: string; }[]`\n - `entitlements: { id: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; name: string; description?: string; }[]`\n - `is_recurring: boolean`\n - `license_key_enabled: boolean`\n - `metadata: object`\n - `price: { currency: string; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: string; discount: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: string; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'usage_based_price'; meters?: { meter_id: string; credit_entitlement_id?: string; description?: string; free_threshold?: number; measurement_unit?: string; meter_units_per_credit?: string; name?: string; price_per_unit?: string; }[]; tax_inclusive?: boolean; }`\n - `product_id: string`\n - `tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'`\n - `updated_at: string`\n - `addons?: string[]`\n - `description?: string`\n - `digital_product_delivery?: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }`\n - `image?: string`\n - `license_key_activation_message?: string`\n - `license_key_activations_limit?: number`\n - `license_key_duration?: { count: number; interval: 'Day' | 'Week' | 'Month' | 'Year'; }`\n - `name?: string`\n - `product_collection_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst product = await client.products.create({\n name: 'name',\n price: {\n currency: 'AED',\n discount: 0,\n price: 0,\n purchasing_power_parity: true,\n type: 'one_time_price',\n},\n tax_category: 'digital_products',\n});\n\nconsole.log(product);\n```",
2906
+ markdown: "## create\n\n`client.products.create(name: string, price: { currency: currency; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: currency; discount: number; payment_frequency_count: number; payment_frequency_interval: time_interval; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: currency; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: time_interval; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'usage_based_price'; meters?: add_meter_to_price[]; tax_inclusive?: boolean; }, tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech', addons?: string[], brand_id?: string, credit_entitlements?: { credit_entitlement_id: string; credits_amount: string; currency?: currency; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_behavior?: cbb_overage_behavior; overage_enabled?: boolean; overage_limit?: string; price_per_unit?: string; proration_behavior?: cbb_proration_behavior; rollover_enabled?: boolean; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: time_interval; trial_credits?: string; trial_credits_expire_after_trial?: boolean; }[], description?: string, digital_product_delivery?: { external_url?: string; instructions?: string; }, entitlements?: { entitlement_id: string; }[], license_key_activation_message?: string, license_key_activations_limit?: number, license_key_duration?: { count: number; interval: time_interval; }, license_key_enabled?: boolean, metadata?: object): { brand_id: string; business_id: string; created_at: string; credit_entitlements: credit_entitlement_mapping_response[]; entitlements: product_entitlement_summary[]; is_recurring: boolean; license_key_enabled: boolean; metadata: object; price: price; product_id: string; tax_category: tax_category; updated_at: string; addons?: string[]; description?: string; digital_product_delivery?: digital_product_delivery; image?: string; license_key_activation_message?: string; license_key_activations_limit?: number; license_key_duration?: license_key_duration; name?: string; product_collection_id?: string; }`\n\n**post** `/products`\n\n### Parameters\n\n- `name: string`\n Name of the product\n\n- `price: { currency: string; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: string; discount: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: string; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'usage_based_price'; meters?: { meter_id: string; credit_entitlement_id?: string; description?: string; free_threshold?: number; measurement_unit?: string; meter_units_per_credit?: string; name?: string; price_per_unit?: string; }[]; tax_inclusive?: boolean; }`\n Price configuration for the product\n\n- `tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'`\n Tax category applied to this product\n\n- `addons?: string[]`\n Addons available for subscription product\n\n- `brand_id?: string`\n Brand id for the product, if not provided will default to primary brand\n\n- `credit_entitlements?: { credit_entitlement_id: string; credits_amount: string; currency?: string; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_behavior?: 'forgive_at_reset' | 'invoice_at_billing' | 'carry_deficit' | 'carry_deficit_auto_repay'; overage_enabled?: boolean; overage_limit?: string; price_per_unit?: string; proration_behavior?: 'prorate' | 'no_prorate'; rollover_enabled?: boolean; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: 'Day' | 'Week' | 'Month' | 'Year'; trial_credits?: string; trial_credits_expire_after_trial?: boolean; }[]`\n Optional credit entitlements to attach (max 3)\n\n- `description?: string`\n Optional description of the product\n\n- `digital_product_delivery?: { external_url?: string; instructions?: string; }`\n Choose how you would like you digital product delivered\n\ndeprecated: use entitlements instead\n - `external_url?: string`\n External URL to digital product\n - `instructions?: string`\n Instructions to download and use the digital product\n\n- `entitlements?: { entitlement_id: string; }[]`\n Optional entitlements to attach to this product (max 20)\n\n- `license_key_activation_message?: string`\n Optional message displayed during license key activation\n\ndeprecated: use entitlements instead. Ignored when a `license_key`\nentitlement is attached via the `entitlements` field.\n\n- `license_key_activations_limit?: number`\n The number of times the license key can be activated.\nMust be 0 or greater\n\ndeprecated: use entitlements instead. Ignored when a `license_key`\nentitlement is attached via the `entitlements` field.\n\n- `license_key_duration?: { count: number; interval: 'Day' | 'Week' | 'Month' | 'Year'; }`\n Duration configuration for the license key.\nSet to null if you don't want the license key to expire.\nFor subscriptions, the lifetime of the license key is tied to the subscription period\n\ndeprecated: use entitlements instead. Ignored when a `license_key`\nentitlement is attached via the `entitlements` field.\n - `count: number`\n - `interval: 'Day' | 'Week' | 'Month' | 'Year'`\n\n- `license_key_enabled?: boolean`\n When true, generates and sends a license key to your customer.\nDefaults to false\n\ndeprecated: use entitlements instead. If a `license_key` entitlement is\nalso attached via the `entitlements` field, the `license_key_*` config\nfields below are ignored — the attached entitlement's config is the\nsource of truth.\n\n- `metadata?: object`\n Additional metadata for the product\n\n### Returns\n\n- `{ brand_id: string; business_id: string; created_at: string; credit_entitlements: { id: string; credit_entitlement_id: string; credit_entitlement_name: string; credit_entitlement_unit: string; credits_amount: string; overage_behavior: cbb_overage_behavior; overage_enabled: boolean; proration_behavior: cbb_proration_behavior; rollover_enabled: boolean; trial_credits_expire_after_trial: boolean; currency?: currency; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_limit?: string; price_per_unit?: string; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: time_interval; trial_credits?: string; }[]; entitlements: { id: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; name: string; description?: string; }[]; is_recurring: boolean; license_key_enabled: boolean; metadata: object; price: { currency: currency; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: currency; discount: number; payment_frequency_count: number; payment_frequency_interval: time_interval; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: currency; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: time_interval; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'usage_based_price'; meters?: add_meter_to_price[]; tax_inclusive?: boolean; }; product_id: string; tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'; updated_at: string; addons?: string[]; description?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; image?: string; license_key_activation_message?: string; license_key_activations_limit?: number; license_key_duration?: { count: number; interval: time_interval; }; name?: string; product_collection_id?: string; }`\n\n - `brand_id: string`\n - `business_id: string`\n - `created_at: string`\n - `credit_entitlements: { id: string; credit_entitlement_id: string; credit_entitlement_name: string; credit_entitlement_unit: string; credits_amount: string; overage_behavior: 'forgive_at_reset' | 'invoice_at_billing' | 'carry_deficit' | 'carry_deficit_auto_repay'; overage_enabled: boolean; proration_behavior: 'prorate' | 'no_prorate'; rollover_enabled: boolean; trial_credits_expire_after_trial: boolean; currency?: string; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_limit?: string; price_per_unit?: string; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: 'Day' | 'Week' | 'Month' | 'Year'; trial_credits?: string; }[]`\n - `entitlements: { id: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; name: string; description?: string; }[]`\n - `is_recurring: boolean`\n - `license_key_enabled: boolean`\n - `metadata: object`\n - `price: { currency: string; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: string; discount: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: string; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'usage_based_price'; meters?: { meter_id: string; credit_entitlement_id?: string; description?: string; free_threshold?: number; measurement_unit?: string; meter_units_per_credit?: string; name?: string; price_per_unit?: string; }[]; tax_inclusive?: boolean; }`\n - `product_id: string`\n - `tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'`\n - `updated_at: string`\n - `addons?: string[]`\n - `description?: string`\n - `digital_product_delivery?: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }`\n - `image?: string`\n - `license_key_activation_message?: string`\n - `license_key_activations_limit?: number`\n - `license_key_duration?: { count: number; interval: 'Day' | 'Week' | 'Month' | 'Year'; }`\n - `name?: string`\n - `product_collection_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst product = await client.products.create({\n name: 'name',\n price: {\n currency: 'AED',\n discount: 0,\n price: 0,\n purchasing_power_parity: true,\n type: 'one_time_price',\n},\n tax_category: 'digital_products',\n});\n\nconsole.log(product);\n```",
2907
2907
  perLanguage: {
2908
2908
  typescript: {
2909
2909
  method: 'client.products.create',
@@ -2952,7 +2952,7 @@ const EMBEDDED_METHODS = [
2952
2952
  qualified: 'client.products.retrieve',
2953
2953
  params: ['id: string;'],
2954
2954
  response: "{ brand_id: string; business_id: string; created_at: string; credit_entitlements: object[]; entitlements: object[]; is_recurring: boolean; license_key_enabled: boolean; metadata: object; price: object | object | object; product_id: string; tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'; updated_at: string; addons?: string[]; description?: string; digital_product_delivery?: object; image?: string; license_key_activation_message?: string; license_key_activations_limit?: number; license_key_duration?: object; name?: string; product_collection_id?: string; }",
2955
- markdown: "## retrieve\n\n`client.products.retrieve(id: string): { brand_id: string; business_id: string; created_at: string; credit_entitlements: credit_entitlement_mapping_response[]; entitlements: product_entitlement_summary[]; is_recurring: boolean; license_key_enabled: boolean; metadata: object; price: price; product_id: string; tax_category: tax_category; updated_at: string; addons?: string[]; description?: string; digital_product_delivery?: digital_product_delivery; image?: string; license_key_activation_message?: string; license_key_activations_limit?: number; license_key_duration?: license_key_duration; name?: string; product_collection_id?: string; }`\n\n**get** `/products/{id}`\n\n### Parameters\n\n- `id: string`\n\n### Returns\n\n- `{ brand_id: string; business_id: string; created_at: string; credit_entitlements: { id: string; credit_entitlement_id: string; credit_entitlement_name: string; credit_entitlement_unit: string; credits_amount: string; overage_behavior: cbb_overage_behavior; overage_enabled: boolean; proration_behavior: cbb_proration_behavior; rollover_enabled: boolean; trial_credits_expire_after_trial: boolean; currency?: currency; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_limit?: string; price_per_unit?: string; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: time_interval; trial_credits?: string; }[]; entitlements: { id: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; name: string; description?: string; }[]; is_recurring: boolean; license_key_enabled: boolean; metadata: object; price: { currency: currency; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: currency; discount: number; payment_frequency_count: number; payment_frequency_interval: time_interval; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: currency; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: time_interval; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'usage_based_price'; meters?: add_meter_to_price[]; tax_inclusive?: boolean; }; product_id: string; tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'; updated_at: string; addons?: string[]; description?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; image?: string; license_key_activation_message?: string; license_key_activations_limit?: number; license_key_duration?: { count: number; interval: time_interval; }; name?: string; product_collection_id?: string; }`\n\n - `brand_id: string`\n - `business_id: string`\n - `created_at: string`\n - `credit_entitlements: { id: string; credit_entitlement_id: string; credit_entitlement_name: string; credit_entitlement_unit: string; credits_amount: string; overage_behavior: 'forgive_at_reset' | 'invoice_at_billing' | 'carry_deficit' | 'carry_deficit_auto_repay'; overage_enabled: boolean; proration_behavior: 'prorate' | 'no_prorate'; rollover_enabled: boolean; trial_credits_expire_after_trial: boolean; currency?: string; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_limit?: string; price_per_unit?: string; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: 'Day' | 'Week' | 'Month' | 'Year'; trial_credits?: string; }[]`\n - `entitlements: { id: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; name: string; description?: string; }[]`\n - `is_recurring: boolean`\n - `license_key_enabled: boolean`\n - `metadata: object`\n - `price: { currency: string; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: string; discount: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: string; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'usage_based_price'; meters?: { meter_id: string; credit_entitlement_id?: string; description?: string; free_threshold?: number; measurement_unit?: string; meter_units_per_credit?: string; name?: string; price_per_unit?: string; }[]; tax_inclusive?: boolean; }`\n - `product_id: string`\n - `tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'`\n - `updated_at: string`\n - `addons?: string[]`\n - `description?: string`\n - `digital_product_delivery?: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }`\n - `image?: string`\n - `license_key_activation_message?: string`\n - `license_key_activations_limit?: number`\n - `license_key_duration?: { count: number; interval: 'Day' | 'Week' | 'Month' | 'Year'; }`\n - `name?: string`\n - `product_collection_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst product = await client.products.retrieve('id');\n\nconsole.log(product);\n```",
2955
+ markdown: "## retrieve\n\n`client.products.retrieve(id: string): { brand_id: string; business_id: string; created_at: string; credit_entitlements: credit_entitlement_mapping_response[]; entitlements: product_entitlement_summary[]; is_recurring: boolean; license_key_enabled: boolean; metadata: object; price: price; product_id: string; tax_category: tax_category; updated_at: string; addons?: string[]; description?: string; digital_product_delivery?: digital_product_delivery; image?: string; license_key_activation_message?: string; license_key_activations_limit?: number; license_key_duration?: license_key_duration; name?: string; product_collection_id?: string; }`\n\n**get** `/products/{id}`\n\n### Parameters\n\n- `id: string`\n\n### Returns\n\n- `{ brand_id: string; business_id: string; created_at: string; credit_entitlements: { id: string; credit_entitlement_id: string; credit_entitlement_name: string; credit_entitlement_unit: string; credits_amount: string; overage_behavior: cbb_overage_behavior; overage_enabled: boolean; proration_behavior: cbb_proration_behavior; rollover_enabled: boolean; trial_credits_expire_after_trial: boolean; currency?: currency; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_limit?: string; price_per_unit?: string; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: time_interval; trial_credits?: string; }[]; entitlements: { id: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; name: string; description?: string; }[]; is_recurring: boolean; license_key_enabled: boolean; metadata: object; price: { currency: currency; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: currency; discount: number; payment_frequency_count: number; payment_frequency_interval: time_interval; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: currency; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: time_interval; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: time_interval; type: 'usage_based_price'; meters?: add_meter_to_price[]; tax_inclusive?: boolean; }; product_id: string; tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'; updated_at: string; addons?: string[]; description?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; image?: string; license_key_activation_message?: string; license_key_activations_limit?: number; license_key_duration?: { count: number; interval: time_interval; }; name?: string; product_collection_id?: string; }`\n\n - `brand_id: string`\n - `business_id: string`\n - `created_at: string`\n - `credit_entitlements: { id: string; credit_entitlement_id: string; credit_entitlement_name: string; credit_entitlement_unit: string; credits_amount: string; overage_behavior: 'forgive_at_reset' | 'invoice_at_billing' | 'carry_deficit' | 'carry_deficit_auto_repay'; overage_enabled: boolean; proration_behavior: 'prorate' | 'no_prorate'; rollover_enabled: boolean; trial_credits_expire_after_trial: boolean; currency?: string; expires_after_days?: number; low_balance_threshold_percent?: number; max_rollover_count?: number; overage_limit?: string; price_per_unit?: string; rollover_percentage?: number; rollover_timeframe_count?: number; rollover_timeframe_interval?: 'Day' | 'Week' | 'Month' | 'Year'; trial_credits?: string; }[]`\n - `entitlements: { id: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; name: string; description?: string; }[]`\n - `is_recurring: boolean`\n - `license_key_enabled: boolean`\n - `metadata: object`\n - `price: { currency: string; discount: number; price: number; purchasing_power_parity: boolean; type: 'one_time_price'; pay_what_you_want?: boolean; suggested_price?: number; tax_inclusive?: boolean; } | { currency: string; discount: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; price: number; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'recurring_price'; tax_inclusive?: boolean; trial_period_days?: number; } | { currency: string; discount: number; fixed_price: number; payment_frequency_count: number; payment_frequency_interval: 'Day' | 'Week' | 'Month' | 'Year'; purchasing_power_parity: boolean; subscription_period_count: number; subscription_period_interval: 'Day' | 'Week' | 'Month' | 'Year'; type: 'usage_based_price'; meters?: { meter_id: string; credit_entitlement_id?: string; description?: string; free_threshold?: number; measurement_unit?: string; meter_units_per_credit?: string; name?: string; price_per_unit?: string; }[]; tax_inclusive?: boolean; }`\n - `product_id: string`\n - `tax_category: 'digital_products' | 'saas' | 'e_book' | 'edtech'`\n - `updated_at: string`\n - `addons?: string[]`\n - `description?: string`\n - `digital_product_delivery?: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }`\n - `image?: string`\n - `license_key_activation_message?: string`\n - `license_key_activations_limit?: number`\n - `license_key_duration?: { count: number; interval: 'Day' | 'Week' | 'Month' | 'Year'; }`\n - `name?: string`\n - `product_collection_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst product = await client.products.retrieve('id');\n\nconsole.log(product);\n```",
2956
2956
  perLanguage: {
2957
2957
  typescript: {
2958
2958
  method: 'client.products.retrieve',
@@ -4581,9 +4581,6 @@ const EMBEDDED_METHODS = [
4581
4581
  method: 'webhooks->unwrap',
4582
4582
  example: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\n$client = new Client(bearerToken: 'My Bearer Token', environment: 'test_mode');\n\n$result = $client->webhooks->unwrap();\n\nvar_dump($result);",
4583
4583
  },
4584
- csharp: {
4585
- example: 'WebhookUnwrapParams parameters = new();\n\nawait client.Webhooks.Unwrap(parameters);',
4586
- },
4587
4584
  },
4588
4585
  },
4589
4586
  {
@@ -4621,9 +4618,6 @@ const EMBEDDED_METHODS = [
4621
4618
  method: 'webhooks->unsafeUnwrap',
4622
4619
  example: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\n$client = new Client(bearerToken: 'My Bearer Token', environment: 'test_mode');\n\n$result = $client->webhooks->unsafeUnwrap();\n\nvar_dump($result);",
4623
4620
  },
4624
- csharp: {
4625
- example: 'WebhookUnsafeUnwrapParams parameters = new();\n\nawait client.Webhooks.UnsafeUnwrap(parameters);',
4626
- },
4627
4621
  },
4628
4622
  },
4629
4623
  {
@@ -5797,8 +5791,8 @@ const EMBEDDED_METHODS = [
5797
5791
  'page_number?: number;',
5798
5792
  'page_size?: number;',
5799
5793
  ],
5800
- response: "{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }",
5801
- markdown: "## list\n\n`client.entitlements.list(integration_type?: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key', page_number?: number, page_size?: number): { id: string; business_id: string; created_at: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n\n**get** `/entitlements`\n\nGET /entitlements\n\n### Parameters\n\n- `integration_type?: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n Filter by integration type\n\n- `page_number?: number`\n Page number (default 0)\n\n- `page_size?: number`\n Page size (default 10, max 100)\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n Detailed view of a single entitlement: identity, integration type,\nintegration-specific configuration, and metadata.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; }`\n - `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n - `is_active: boolean`\n - `metadata: object`\n - `name: string`\n - `updated_at: string`\n - `description?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const entitlement of client.entitlements.list()) {\n console.log(entitlement);\n}\n```",
5794
+ response: "{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }",
5795
+ markdown: "## list\n\n`client.entitlements.list(integration_type?: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key', page_number?: number, page_size?: number): { id: string; business_id: string; created_at: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n\n**get** `/entitlements`\n\nGET /entitlements\n\n### Parameters\n\n- `integration_type?: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n Filter by integration type\n\n- `page_number?: number`\n Page number (default 0)\n\n- `page_size?: number`\n Page size (default 10, max 100)\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n Detailed view of a single entitlement: identity, integration type,\nintegration-specific configuration, and metadata.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; fulfillment_mode?: 'auto' | 'manual'; }`\n - `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n - `is_active: boolean`\n - `metadata: object`\n - `name: string`\n - `updated_at: string`\n - `description?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const entitlement of client.entitlements.list()) {\n console.log(entitlement);\n}\n```",
5802
5796
  perLanguage: {
5803
5797
  typescript: {
5804
5798
  method: 'client.entitlements.list',
@@ -5846,14 +5840,14 @@ const EMBEDDED_METHODS = [
5846
5840
  stainlessPath: '(resource) entitlements > (method) create',
5847
5841
  qualified: 'client.entitlements.create',
5848
5842
  params: [
5849
- "integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; };",
5843
+ "integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; fulfillment_mode?: 'auto' | 'manual'; };",
5850
5844
  "integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key';",
5851
5845
  'name: string;',
5852
5846
  'description?: string;',
5853
5847
  'metadata?: object;',
5854
5848
  ],
5855
- response: "{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }",
5856
- markdown: "## create\n\n`client.entitlements.create(integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }, integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key', name: string, description?: string, metadata?: object): { id: string; business_id: string; created_at: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n\n**post** `/entitlements`\n\nPOST /entitlements\n\n### Parameters\n\n- `integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; }`\n Platform-specific configuration (validated per integration_type)\n\n- `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n Which platform integration this entitlement uses\n\n- `name: string`\n Display name for this entitlement\n\n- `description?: string`\n Optional description\n\n- `metadata?: object`\n Additional metadata for the entitlement\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n Detailed view of a single entitlement: identity, integration type,\nintegration-specific configuration, and metadata.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; }`\n - `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n - `is_active: boolean`\n - `metadata: object`\n - `name: string`\n - `updated_at: string`\n - `description?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst entitlement = await client.entitlements.create({\n integration_config: { permission: 'pull', target_id: 'target_id' },\n integration_type: 'discord',\n name: 'name',\n});\n\nconsole.log(entitlement);\n```",
5849
+ response: "{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }",
5850
+ markdown: "## create\n\n`client.entitlements.create(integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }, integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key', name: string, description?: string, metadata?: object): { id: string; business_id: string; created_at: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n\n**post** `/entitlements`\n\nPOST /entitlements\n\n### Parameters\n\n- `integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; fulfillment_mode?: 'auto' | 'manual'; }`\n Platform-specific configuration (validated per integration_type)\n\n- `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n Which platform integration this entitlement uses\n\n- `name: string`\n Display name for this entitlement\n\n- `description?: string`\n Optional description\n\n- `metadata?: object`\n Additional metadata for the entitlement\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n Detailed view of a single entitlement: identity, integration type,\nintegration-specific configuration, and metadata.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; fulfillment_mode?: 'auto' | 'manual'; }`\n - `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n - `is_active: boolean`\n - `metadata: object`\n - `name: string`\n - `updated_at: string`\n - `description?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst entitlement = await client.entitlements.create({\n integration_config: { permission: 'pull', target_id: 'target_id' },\n integration_type: 'discord',\n name: 'name',\n});\n\nconsole.log(entitlement);\n```",
5857
5851
  perLanguage: {
5858
5852
  typescript: {
5859
5853
  method: 'client.entitlements.create',
@@ -5901,8 +5895,8 @@ const EMBEDDED_METHODS = [
5901
5895
  stainlessPath: '(resource) entitlements > (method) retrieve',
5902
5896
  qualified: 'client.entitlements.retrieve',
5903
5897
  params: ['id: string;'],
5904
- response: "{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }",
5905
- markdown: "## retrieve\n\n`client.entitlements.retrieve(id: string): { id: string; business_id: string; created_at: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n\n**get** `/entitlements/{id}`\n\nGET /entitlements/{id}\n\n### Parameters\n\n- `id: string`\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n Detailed view of a single entitlement: identity, integration type,\nintegration-specific configuration, and metadata.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; }`\n - `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n - `is_active: boolean`\n - `metadata: object`\n - `name: string`\n - `updated_at: string`\n - `description?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst entitlement = await client.entitlements.retrieve('id');\n\nconsole.log(entitlement);\n```",
5898
+ response: "{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }",
5899
+ markdown: "## retrieve\n\n`client.entitlements.retrieve(id: string): { id: string; business_id: string; created_at: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n\n**get** `/entitlements/{id}`\n\nGET /entitlements/{id}\n\n### Parameters\n\n- `id: string`\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n Detailed view of a single entitlement: identity, integration type,\nintegration-specific configuration, and metadata.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; fulfillment_mode?: 'auto' | 'manual'; }`\n - `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n - `is_active: boolean`\n - `metadata: object`\n - `name: string`\n - `updated_at: string`\n - `description?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst entitlement = await client.entitlements.retrieve('id');\n\nconsole.log(entitlement);\n```",
5906
5900
  perLanguage: {
5907
5901
  typescript: {
5908
5902
  method: 'client.entitlements.retrieve',
@@ -6000,12 +5994,12 @@ const EMBEDDED_METHODS = [
6000
5994
  params: [
6001
5995
  'id: string;',
6002
5996
  'description?: string;',
6003
- "integration_config?: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; };",
5997
+ "integration_config?: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; fulfillment_mode?: 'auto' | 'manual'; };",
6004
5998
  'metadata?: object;',
6005
5999
  'name?: string;',
6006
6000
  ],
6007
- response: "{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }",
6008
- markdown: "## update\n\n`client.entitlements.update(id: string, description?: string, integration_config?: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }, metadata?: object, name?: string): { id: string; business_id: string; created_at: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n\n**patch** `/entitlements/{id}`\n\nPATCH /entitlements/{id}\n\n### Parameters\n\n- `id: string`\n\n- `description?: string`\n\n- `integration_config?: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; }`\n Integration-specific configuration supplied when creating or updating\nan entitlement. The shape required matches the entitlement's\n`integration_type`.\n\n- `metadata?: object`\n\n- `name?: string`\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n Detailed view of a single entitlement: identity, integration type,\nintegration-specific configuration, and metadata.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; }`\n - `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n - `is_active: boolean`\n - `metadata: object`\n - `name: string`\n - `updated_at: string`\n - `description?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst entitlement = await client.entitlements.update('id');\n\nconsole.log(entitlement);\n```",
6001
+ response: "{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }",
6002
+ markdown: "## update\n\n`client.entitlements.update(id: string, description?: string, integration_config?: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }, metadata?: object, name?: string): { id: string; business_id: string; created_at: string; integration_config: integration_config_response; integration_type: entitlement_integration_type; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n\n**patch** `/entitlements/{id}`\n\nPATCH /entitlements/{id}\n\n### Parameters\n\n- `id: string`\n\n- `description?: string`\n\n- `integration_config?: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_file_ids: string[]; external_url?: string; instructions?: string; legacy_file_ids?: string[]; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; fulfillment_mode?: 'auto' | 'manual'; }`\n Integration-specific configuration supplied when creating or updating\nan entitlement. The shape required matches the entitlement's\n`integration_type`.\n\n- `metadata?: object`\n\n- `name?: string`\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; integration_config: { permission: github_permission; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: object; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: time_interval; fulfillment_mode?: 'auto' | 'manual'; }; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; is_active: boolean; metadata: object; name: string; updated_at: string; description?: string; }`\n Detailed view of a single entitlement: identity, integration type,\nintegration-specific configuration, and metadata.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `integration_config: { permission: 'pull' | 'push' | 'admin' | 'maintain' | 'triage'; target_id: string; } | { guild_id: string; role_id?: string; } | { chat_id: string; } | { figma_file_id: string; } | { framer_template_id: string; } | { notion_template_id: string; } | { digital_files: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }; } | { activation_message?: string; activations_limit?: number; duration_count?: number; duration_interval?: 'Day' | 'Week' | 'Month' | 'Year'; fulfillment_mode?: 'auto' | 'manual'; }`\n - `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n - `is_active: boolean`\n - `metadata: object`\n - `name: string`\n - `updated_at: string`\n - `description?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst entitlement = await client.entitlements.update('id');\n\nconsole.log(entitlement);\n```",
6009
6003
  perLanguage: {
6010
6004
  typescript: {
6011
6005
  method: 'client.entitlements.update',
@@ -6152,12 +6146,13 @@ const EMBEDDED_METHODS = [
6152
6146
  params: [
6153
6147
  'id: string;',
6154
6148
  'customer_id?: string;',
6149
+ "integration_type?: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key';",
6155
6150
  'page_number?: number;',
6156
6151
  'page_size?: number;',
6157
6152
  "status?: 'Pending' | 'Delivered' | 'Failed' | 'Revoked';",
6158
6153
  ],
6159
- response: "{ id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; error_code?: string; error_message?: string; license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }",
6160
- markdown: "## list\n\n`client.entitlements.grants.list(id: string, customer_id?: string, page_number?: number, page_size?: number, status?: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'): { id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: digital_product_delivery; error_code?: string; error_message?: string; license_key?: license_key_grant; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }`\n\n**get** `/entitlements/{id}/grants`\n\nGET /entitlements/{id}/grants (public API)\n\n### Parameters\n\n- `id: string`\n\n- `customer_id?: string`\n Filter by customer ID\n\n- `page_number?: number`\n Page number (default 0)\n\n- `page_size?: number`\n Page size (default 10, max 100)\n\n- `status?: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'`\n Filter by grant status\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; error_code?: string; error_message?: string; license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }`\n Detailed view of a single entitlement grant: who it's for, its\nlifecycle state, and any integration-specific delivery payload.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `entitlement_id: string`\n - `metadata: object`\n - `status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'`\n - `updated_at: string`\n - `delivered_at?: string`\n - `digital_product_delivery?: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }`\n - `error_code?: string`\n - `error_message?: string`\n - `license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }`\n - `oauth_expires_at?: string`\n - `oauth_url?: string`\n - `payment_id?: string`\n - `revocation_reason?: string`\n - `revoked_at?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const entitlementGrant of client.entitlements.grants.list('id')) {\n console.log(entitlementGrant);\n}\n```",
6154
+ response: "{ id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; error_code?: string; error_message?: string; license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }",
6155
+ markdown: "## list\n\n`client.entitlements.grants.list(id: string, customer_id?: string, integration_type?: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key', page_number?: number, page_size?: number, status?: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'): { id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; integration_type: entitlement_integration_type; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: digital_product_delivery; error_code?: string; error_message?: string; license_key?: license_key_grant; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }`\n\n**get** `/entitlements/{id}/grants`\n\nGET /entitlements/{id}/grants (public API)\n\n### Parameters\n\n- `id: string`\n\n- `customer_id?: string`\n Filter by customer ID\n\n- `integration_type?: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n Filter by integration type\n\n- `page_number?: number`\n Page number (default 0)\n\n- `page_size?: number`\n Page size (default 10, max 100)\n\n- `status?: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'`\n Filter by grant status\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; error_code?: string; error_message?: string; license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }`\n Detailed view of a single entitlement grant: who it's for, its\nlifecycle state, and any integration-specific delivery payload.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `entitlement_id: string`\n - `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n - `metadata: object`\n - `status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'`\n - `updated_at: string`\n - `delivered_at?: string`\n - `digital_product_delivery?: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }`\n - `error_code?: string`\n - `error_message?: string`\n - `license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }`\n - `oauth_expires_at?: string`\n - `oauth_url?: string`\n - `payment_id?: string`\n - `revocation_reason?: string`\n - `revoked_at?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\n// Automatically fetches more pages as needed.\nfor await (const entitlementGrant of client.entitlements.grants.list('id')) {\n console.log(entitlementGrant);\n}\n```",
6161
6156
  perLanguage: {
6162
6157
  typescript: {
6163
6158
  method: 'client.entitlements.grants.list',
@@ -6188,7 +6183,7 @@ const EMBEDDED_METHODS = [
6188
6183
  },
6189
6184
  php: {
6190
6185
  method: 'entitlements->grants->list',
6191
- example: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\n$client = new Client(bearerToken: 'My Bearer Token', environment: 'test_mode');\n\n$page = $client->entitlements->grants->list(\n 'id', customerID: 'customer_id', pageNumber: 0, pageSize: 0, status: 'Pending'\n);\n\nvar_dump($page);",
6186
+ example: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\n$client = new Client(bearerToken: 'My Bearer Token', environment: 'test_mode');\n\n$page = $client->entitlements->grants->list(\n 'id',\n customerID: 'customer_id',\n integrationType: 'discord',\n pageNumber: 0,\n pageSize: 0,\n status: 'Pending',\n);\n\nvar_dump($page);",
6192
6187
  },
6193
6188
  csharp: {
6194
6189
  method: 'Entitlements.Grants.List',
@@ -6205,8 +6200,8 @@ const EMBEDDED_METHODS = [
6205
6200
  stainlessPath: '(resource) entitlements.grants > (method) revoke',
6206
6201
  qualified: 'client.entitlements.grants.revoke',
6207
6202
  params: ['id: string;', 'grant_id: string;'],
6208
- response: "{ id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; error_code?: string; error_message?: string; license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }",
6209
- markdown: "## revoke\n\n`client.entitlements.grants.revoke(id: string, grant_id: string): { id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: digital_product_delivery; error_code?: string; error_message?: string; license_key?: license_key_grant; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }`\n\n**delete** `/entitlements/{id}/grants/{grant_id}`\n\nRevoke a single grant. Idempotent: re-revoking an already-revoked\ngrant returns the grant in its current state.\n\n### Parameters\n\n- `id: string`\n\n- `grant_id: string`\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; error_code?: string; error_message?: string; license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }`\n Detailed view of a single entitlement grant: who it's for, its\nlifecycle state, and any integration-specific delivery payload.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `entitlement_id: string`\n - `metadata: object`\n - `status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'`\n - `updated_at: string`\n - `delivered_at?: string`\n - `digital_product_delivery?: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }`\n - `error_code?: string`\n - `error_message?: string`\n - `license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }`\n - `oauth_expires_at?: string`\n - `oauth_url?: string`\n - `payment_id?: string`\n - `revocation_reason?: string`\n - `revoked_at?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst entitlementGrant = await client.entitlements.grants.revoke('grant_id', { id: 'id' });\n\nconsole.log(entitlementGrant);\n```",
6203
+ response: "{ id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; error_code?: string; error_message?: string; license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }",
6204
+ markdown: "## revoke\n\n`client.entitlements.grants.revoke(id: string, grant_id: string): { id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; integration_type: entitlement_integration_type; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: digital_product_delivery; error_code?: string; error_message?: string; license_key?: license_key_grant; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }`\n\n**delete** `/entitlements/{id}/grants/{grant_id}`\n\nRevoke a single grant. Idempotent: re-revoking an already-revoked\ngrant returns the grant in its current state.\n\n### Parameters\n\n- `id: string`\n\n- `grant_id: string`\n\n### Returns\n\n- `{ id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string; integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'; metadata: object; status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'; updated_at: string; delivered_at?: string; digital_product_delivery?: { files: digital_product_delivery_file[]; external_url?: string; instructions?: string; }; error_code?: string; error_message?: string; license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }; oauth_expires_at?: string; oauth_url?: string; payment_id?: string; revocation_reason?: string; revoked_at?: string; subscription_id?: string; }`\n Detailed view of a single entitlement grant: who it's for, its\nlifecycle state, and any integration-specific delivery payload.\n\n - `id: string`\n - `business_id: string`\n - `created_at: string`\n - `customer_id: string`\n - `entitlement_id: string`\n - `integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key'`\n - `metadata: object`\n - `status: 'Pending' | 'Delivered' | 'Failed' | 'Revoked'`\n - `updated_at: string`\n - `delivered_at?: string`\n - `digital_product_delivery?: { files: { download_url: string; expires_in: number; file_id: string; filename: string; content_type?: string; file_size?: number; }[]; external_url?: string; instructions?: string; }`\n - `error_code?: string`\n - `error_message?: string`\n - `license_key?: { activations_used: number; key: string; activations_limit?: number; expires_at?: string; }`\n - `oauth_expires_at?: string`\n - `oauth_url?: string`\n - `payment_id?: string`\n - `revocation_reason?: string`\n - `revoked_at?: string`\n - `subscription_id?: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst entitlementGrant = await client.entitlements.grants.revoke('grant_id', { id: 'id' });\n\nconsole.log(entitlementGrant);\n```",
6210
6205
  perLanguage: {
6211
6206
  typescript: {
6212
6207
  method: 'client.entitlements.grants.revoke',