dodopayments-mcp 2.30.0 → 2.31.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.
- package/local-docs-search.d.mts.map +1 -1
- package/local-docs-search.d.ts.map +1 -1
- package/local-docs-search.js +36 -36
- package/local-docs-search.js.map +1 -1
- package/local-docs-search.mjs +36 -36
- package/local-docs-search.mjs.map +1 -1
- package/package.json +2 -2
- package/server.js +1 -1
- package/server.mjs +1 -1
- package/src/local-docs-search.ts +37 -38
- package/src/server.ts +1 -1
|
@@ -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;
|
|
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;AAg2PF;;;;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;
|
|
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;AAg2PF;;;;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"}
|
package/local-docs-search.js
CHANGED
|
@@ -2982,7 +2982,7 @@ const EMBEDDED_METHODS = [
|
|
|
2982
2982
|
'recurring?: boolean;',
|
|
2983
2983
|
],
|
|
2984
2984
|
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; }",
|
|
2985
|
-
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:
|
|
2985
|
+
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: '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: 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```",
|
|
2986
2986
|
perLanguage: {
|
|
2987
2987
|
typescript: {
|
|
2988
2988
|
method: 'client.products.list',
|
|
@@ -3050,7 +3050,7 @@ const EMBEDDED_METHODS = [
|
|
|
3050
3050
|
'metadata?: object;',
|
|
3051
3051
|
],
|
|
3052
3052
|
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; }",
|
|
3053
|
-
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: string; 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```",
|
|
3053
|
+
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: '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: 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```",
|
|
3054
3054
|
perLanguage: {
|
|
3055
3055
|
typescript: {
|
|
3056
3056
|
method: 'client.products.create',
|
|
@@ -3103,7 +3103,7 @@ const EMBEDDED_METHODS = [
|
|
|
3103
3103
|
qualified: 'client.products.retrieve',
|
|
3104
3104
|
params: ['id: string;'],
|
|
3105
3105
|
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; }",
|
|
3106
|
-
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:
|
|
3106
|
+
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: '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: 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```",
|
|
3107
3107
|
perLanguage: {
|
|
3108
3108
|
typescript: {
|
|
3109
3109
|
method: 'client.products.retrieve',
|
|
@@ -6166,8 +6166,8 @@ const EMBEDDED_METHODS = [
|
|
|
6166
6166
|
'page_number?: number;',
|
|
6167
6167
|
'page_size?: number;',
|
|
6168
6168
|
],
|
|
6169
|
-
response: "{ id: string; business_id: string; created_at: string; integration_config: { permission:
|
|
6170
|
-
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; name: string; updated_at: string; description?: string;
|
|
6169
|
+
response: "{ id: string; business_id: string; created_at: string; 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: 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; }",
|
|
6170
|
+
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: '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: 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```",
|
|
6171
6171
|
perLanguage: {
|
|
6172
6172
|
typescript: {
|
|
6173
6173
|
method: 'client.entitlements.list',
|
|
@@ -6219,53 +6219,53 @@ const EMBEDDED_METHODS = [
|
|
|
6219
6219
|
stainlessPath: '(resource) entitlements > (method) create',
|
|
6220
6220
|
qualified: 'client.entitlements.create',
|
|
6221
6221
|
params: [
|
|
6222
|
-
"integration_config: { permission:
|
|
6222
|
+
"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'; };",
|
|
6223
6223
|
"integration_type: 'discord' | 'telegram' | 'github' | 'figma' | 'framer' | 'notion' | 'digital_files' | 'license_key';",
|
|
6224
6224
|
'name: string;',
|
|
6225
6225
|
'description?: string;',
|
|
6226
6226
|
'metadata?: object;',
|
|
6227
6227
|
],
|
|
6228
|
-
response: "{ id: string; business_id: string; created_at: string; integration_config: { permission:
|
|
6229
|
-
markdown: "## create\n\n`client.entitlements.create(integration_config: { permission:
|
|
6228
|
+
response: "{ id: string; business_id: string; created_at: string; 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: 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; }",
|
|
6229
|
+
markdown: "## create\n\n`client.entitlements.create(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?: 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: '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: 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```",
|
|
6230
6230
|
perLanguage: {
|
|
6231
6231
|
typescript: {
|
|
6232
6232
|
method: 'client.entitlements.create',
|
|
6233
|
-
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 entitlement = await client.entitlements.create({\n integration_config: { permission: '
|
|
6233
|
+
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 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.id);",
|
|
6234
6234
|
},
|
|
6235
6235
|
python: {
|
|
6236
6236
|
method: 'entitlements.create',
|
|
6237
|
-
example: 'import os\nfrom dodopayments import DodoPayments\n\nclient = DodoPayments(\n bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted\n)\nentitlement = client.entitlements.create(\n integration_config={\n "permission": "
|
|
6237
|
+
example: 'import os\nfrom dodopayments import DodoPayments\n\nclient = DodoPayments(\n bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted\n)\nentitlement = client.entitlements.create(\n integration_config={\n "permission": "pull",\n "target_id": "target_id",\n },\n integration_type="discord",\n name="name",\n)\nprint(entitlement.id)',
|
|
6238
6238
|
},
|
|
6239
6239
|
java: {
|
|
6240
6240
|
method: 'entitlements().create',
|
|
6241
|
-
example: 'package com.dodopayments.api.example;\n\nimport com.dodopayments.api.client.DodoPaymentsClient;\nimport com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;\nimport com.dodopayments.api.models.entitlements.Entitlement;\nimport com.dodopayments.api.models.entitlements.EntitlementCreateParams;\nimport com.dodopayments.api.models.entitlements.EntitlementIntegrationType;\nimport com.dodopayments.api.models.entitlements.IntegrationConfig;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();\n\n EntitlementCreateParams params = EntitlementCreateParams.builder()\n .integrationConfig(IntegrationConfig.GitHubConfig.builder()\n .permission(
|
|
6241
|
+
example: 'package com.dodopayments.api.example;\n\nimport com.dodopayments.api.client.DodoPaymentsClient;\nimport com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;\nimport com.dodopayments.api.models.entitlements.Entitlement;\nimport com.dodopayments.api.models.entitlements.EntitlementCreateParams;\nimport com.dodopayments.api.models.entitlements.EntitlementIntegrationType;\nimport com.dodopayments.api.models.entitlements.IntegrationConfig;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();\n\n EntitlementCreateParams params = EntitlementCreateParams.builder()\n .integrationConfig(IntegrationConfig.GitHubConfig.builder()\n .permission(IntegrationConfig.GitHubConfig.Permission.PULL)\n .targetId("target_id")\n .build())\n .integrationType(EntitlementIntegrationType.DISCORD)\n .name("name")\n .build();\n Entitlement entitlement = client.entitlements().create(params);\n }\n}',
|
|
6242
6242
|
},
|
|
6243
6243
|
kotlin: {
|
|
6244
6244
|
method: 'entitlements().create',
|
|
6245
|
-
example: 'package com.dodopayments.api.example\n\nimport com.dodopayments.api.client.DodoPaymentsClient\nimport com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient\nimport com.dodopayments.api.models.entitlements.Entitlement\nimport com.dodopayments.api.models.entitlements.EntitlementCreateParams\nimport com.dodopayments.api.models.entitlements.EntitlementIntegrationType\nimport com.dodopayments.api.models.entitlements.IntegrationConfig\n\nfun main() {\n val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()\n\n val params: EntitlementCreateParams = EntitlementCreateParams.builder()\n .integrationConfig(IntegrationConfig.GitHubConfig.builder()\n .permission(
|
|
6245
|
+
example: 'package com.dodopayments.api.example\n\nimport com.dodopayments.api.client.DodoPaymentsClient\nimport com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient\nimport com.dodopayments.api.models.entitlements.Entitlement\nimport com.dodopayments.api.models.entitlements.EntitlementCreateParams\nimport com.dodopayments.api.models.entitlements.EntitlementIntegrationType\nimport com.dodopayments.api.models.entitlements.IntegrationConfig\n\nfun main() {\n val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()\n\n val params: EntitlementCreateParams = EntitlementCreateParams.builder()\n .integrationConfig(IntegrationConfig.GitHubConfig.builder()\n .permission(IntegrationConfig.GitHubConfig.Permission.PULL)\n .targetId("target_id")\n .build())\n .integrationType(EntitlementIntegrationType.DISCORD)\n .name("name")\n .build()\n val entitlement: Entitlement = client.entitlements().create(params)\n}',
|
|
6246
6246
|
},
|
|
6247
6247
|
go: {
|
|
6248
6248
|
method: 'client.Entitlements.New',
|
|
6249
|
-
example: 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/dodopayments/dodopayments-go"\n\t"github.com/dodopayments/dodopayments-go/option"\n)\n\nfunc main() {\n\tclient := dodopayments.NewClient(\n\t\toption.WithBearerToken("My Bearer Token"),\n\t)\n\tentitlement, err := client.Entitlements.New(context.TODO(), dodopayments.EntitlementNewParams{\n\t\tIntegrationConfig: dodopayments.F[dodopayments.IntegrationConfigUnionParam](dodopayments.IntegrationConfigGitHubConfigParam{\n\t\t\tPermission: dodopayments.F(
|
|
6249
|
+
example: 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/dodopayments/dodopayments-go"\n\t"github.com/dodopayments/dodopayments-go/option"\n)\n\nfunc main() {\n\tclient := dodopayments.NewClient(\n\t\toption.WithBearerToken("My Bearer Token"),\n\t)\n\tentitlement, err := client.Entitlements.New(context.TODO(), dodopayments.EntitlementNewParams{\n\t\tIntegrationConfig: dodopayments.F[dodopayments.IntegrationConfigUnionParam](dodopayments.IntegrationConfigGitHubConfigParam{\n\t\t\tPermission: dodopayments.F(dodopayments.IntegrationConfigGitHubConfigPermissionPull),\n\t\t\tTargetID: dodopayments.F("target_id"),\n\t\t}),\n\t\tIntegrationType: dodopayments.F(dodopayments.EntitlementIntegrationTypeDiscord),\n\t\tName: dodopayments.F("name"),\n\t})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", entitlement.ID)\n}\n',
|
|
6250
6250
|
},
|
|
6251
6251
|
ruby: {
|
|
6252
6252
|
method: 'entitlements.create',
|
|
6253
|
-
example: 'require "dodopayments"\n\ndodo_payments = Dodopayments::Client.new(\n bearer_token: "My Bearer Token",\n environment: "test_mode" # defaults to "live_mode"\n)\n\nentitlement = dodo_payments.entitlements.create(\n integration_config: {permission:
|
|
6253
|
+
example: 'require "dodopayments"\n\ndodo_payments = Dodopayments::Client.new(\n bearer_token: "My Bearer Token",\n environment: "test_mode" # defaults to "live_mode"\n)\n\nentitlement = dodo_payments.entitlements.create(\n integration_config: {permission: :pull, target_id: "target_id"},\n integration_type: :discord,\n name: "name"\n)\n\nputs(entitlement)',
|
|
6254
6254
|
},
|
|
6255
6255
|
cli: {
|
|
6256
6256
|
method: 'entitlements create',
|
|
6257
|
-
example: "dodo-payments-cli entitlements create \\\n --bearer-token 'My Bearer Token' \\\n --integration-config '{permission:
|
|
6257
|
+
example: "dodo-payments-cli entitlements create \\\n --bearer-token 'My Bearer Token' \\\n --integration-config '{permission: pull, target_id: target_id}' \\\n --integration-type discord \\\n --name name",
|
|
6258
6258
|
},
|
|
6259
6259
|
php: {
|
|
6260
6260
|
method: 'entitlements->create',
|
|
6261
|
-
example: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\n$client = new Client(bearerToken: 'My Bearer Token', environment: 'test_mode');\n\n$entitlement = $client->entitlements->create(\n integrationConfig: ['permission' => '
|
|
6261
|
+
example: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\n$client = new Client(bearerToken: 'My Bearer Token', environment: 'test_mode');\n\n$entitlement = $client->entitlements->create(\n integrationConfig: ['permission' => 'pull', 'targetID' => 'target_id'],\n integrationType: EntitlementIntegrationType::DISCORD,\n name: 'name',\n description: 'description',\n metadata: ['foo' => 'string'],\n);\n\nvar_dump($entitlement);",
|
|
6262
6262
|
},
|
|
6263
6263
|
csharp: {
|
|
6264
6264
|
method: 'Entitlements.Create',
|
|
6265
|
-
example: 'EntitlementCreateParams parameters = new()\n{\n IntegrationConfig = new GitHubConfig()\n {\n Permission =
|
|
6265
|
+
example: 'EntitlementCreateParams parameters = new()\n{\n IntegrationConfig = new GitHubConfig()\n {\n Permission = Permission.Pull,\n TargetID = "target_id",\n },\n IntegrationType = EntitlementIntegrationType.Discord,\n Name = "name",\n};\n\nvar entitlement = await client.Entitlements.Create(parameters);\n\nConsole.WriteLine(entitlement);',
|
|
6266
6266
|
},
|
|
6267
6267
|
http: {
|
|
6268
|
-
example: 'curl https://live.dodopayments.com/entitlements \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $DODO_PAYMENTS_API_KEY" \\\n -d \'{\n "integration_config": {\n "permission": "
|
|
6268
|
+
example: 'curl https://live.dodopayments.com/entitlements \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $DODO_PAYMENTS_API_KEY" \\\n -d \'{\n "integration_config": {\n "permission": "pull",\n "target_id": "target_id"\n },\n "integration_type": "discord",\n "name": "name"\n }\'',
|
|
6269
6269
|
},
|
|
6270
6270
|
},
|
|
6271
6271
|
},
|
|
@@ -6278,8 +6278,8 @@ const EMBEDDED_METHODS = [
|
|
|
6278
6278
|
stainlessPath: '(resource) entitlements > (method) retrieve',
|
|
6279
6279
|
qualified: 'client.entitlements.retrieve',
|
|
6280
6280
|
params: ['id: string;'],
|
|
6281
|
-
response: "{ id: string; business_id: string; created_at: string; integration_config: { permission:
|
|
6282
|
-
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; name: string; updated_at: string; description?: string;
|
|
6281
|
+
response: "{ id: string; business_id: string; created_at: string; 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: 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; }",
|
|
6282
|
+
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: '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: 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```",
|
|
6283
6283
|
perLanguage: {
|
|
6284
6284
|
typescript: {
|
|
6285
6285
|
method: 'client.entitlements.retrieve',
|
|
@@ -6385,12 +6385,12 @@ const EMBEDDED_METHODS = [
|
|
|
6385
6385
|
params: [
|
|
6386
6386
|
'id: string;',
|
|
6387
6387
|
'description?: string;',
|
|
6388
|
-
"integration_config?: { permission:
|
|
6388
|
+
"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'; };",
|
|
6389
6389
|
'metadata?: object;',
|
|
6390
6390
|
'name?: string;',
|
|
6391
6391
|
],
|
|
6392
|
-
response: "{ id: string; business_id: string; created_at: string; integration_config: { permission:
|
|
6393
|
-
markdown: "## update\n\n`client.entitlements.update(id: string, description?: string, integration_config?: { permission:
|
|
6392
|
+
response: "{ id: string; business_id: string; created_at: string; 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: 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; }",
|
|
6393
|
+
markdown: "## update\n\n`client.entitlements.update(id: string, description?: string, 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?: 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: '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: 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```",
|
|
6394
6394
|
perLanguage: {
|
|
6395
6395
|
typescript: {
|
|
6396
6396
|
method: 'client.entitlements.update',
|
|
@@ -6422,7 +6422,7 @@ const EMBEDDED_METHODS = [
|
|
|
6422
6422
|
},
|
|
6423
6423
|
php: {
|
|
6424
6424
|
method: 'entitlements->update',
|
|
6425
|
-
example: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\n$client = new Client(bearerToken: 'My Bearer Token', environment: 'test_mode');\n\n$entitlement = $client->entitlements->update(\n 'id',\n description: 'description',\n integrationConfig: ['permission' => '
|
|
6425
|
+
example: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\n$client = new Client(bearerToken: 'My Bearer Token', environment: 'test_mode');\n\n$entitlement = $client->entitlements->update(\n 'id',\n description: 'description',\n integrationConfig: ['permission' => 'pull', 'targetID' => 'target_id'],\n metadata: ['foo' => 'string'],\n name: 'name',\n);\n\nvar_dump($entitlement);",
|
|
6426
6426
|
},
|
|
6427
6427
|
csharp: {
|
|
6428
6428
|
method: 'Entitlements.Update',
|
|
@@ -6437,13 +6437,13 @@ const EMBEDDED_METHODS = [
|
|
|
6437
6437
|
name: 'upload',
|
|
6438
6438
|
endpoint: '/entitlements/{id}/files',
|
|
6439
6439
|
httpMethod: 'post',
|
|
6440
|
-
summary: '
|
|
6441
|
-
description:
|
|
6440
|
+
summary: 'Attach a file to a `digital_files` entitlement. Per-file size cap: 500 MiB.',
|
|
6441
|
+
description: 'Attach a file to a `digital_files` entitlement. Per-file size cap: 500 MiB.',
|
|
6442
6442
|
stainlessPath: '(resource) entitlements.files > (method) upload',
|
|
6443
6443
|
qualified: 'client.entitlements.files.upload',
|
|
6444
6444
|
params: ['id: string;'],
|
|
6445
6445
|
response: '{ file_id: string; }',
|
|
6446
|
-
markdown: "## upload\n\n`client.entitlements.files.upload(id: string): { file_id: string; }`\n\n**post** `/entitlements/{id}/files`\n\
|
|
6446
|
+
markdown: "## upload\n\n`client.entitlements.files.upload(id: string): { file_id: string; }`\n\n**post** `/entitlements/{id}/files`\n\nAttach a file to a `digital_files` entitlement. Per-file size cap: 500 MiB.\n\n### Parameters\n\n- `id: string`\n\n### Returns\n\n- `{ file_id: string; }`\n\n - `file_id: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nconst response = await client.entitlements.files.upload('id');\n\nconsole.log(response);\n```",
|
|
6447
6447
|
perLanguage: {
|
|
6448
6448
|
typescript: {
|
|
6449
6449
|
method: 'client.entitlements.files.upload',
|
|
@@ -6490,12 +6490,12 @@ const EMBEDDED_METHODS = [
|
|
|
6490
6490
|
name: 'delete',
|
|
6491
6491
|
endpoint: '/entitlements/{id}/files/{file_id}',
|
|
6492
6492
|
httpMethod: 'delete',
|
|
6493
|
-
summary: '
|
|
6494
|
-
description:
|
|
6493
|
+
summary: 'Detach a previously-attached file from a `digital_files` entitlement.',
|
|
6494
|
+
description: 'Detach a previously-attached file from a `digital_files` entitlement.',
|
|
6495
6495
|
stainlessPath: '(resource) entitlements.files > (method) delete',
|
|
6496
6496
|
qualified: 'client.entitlements.files.delete',
|
|
6497
6497
|
params: ['id: string;', 'file_id: string;'],
|
|
6498
|
-
markdown: "## delete\n\n`client.entitlements.files.delete(id: string, file_id: string): void`\n\n**delete** `/entitlements/{id}/files/{file_id}`\n\
|
|
6498
|
+
markdown: "## delete\n\n`client.entitlements.files.delete(id: string, file_id: string): void`\n\n**delete** `/entitlements/{id}/files/{file_id}`\n\nDetach a previously-attached file from a `digital_files` entitlement.\n\n### Parameters\n\n- `id: string`\n\n- `file_id: string`\n\n### Example\n\n```typescript\nimport DodoPayments from 'dodopayments';\n\nconst client = new DodoPayments();\n\nawait client.entitlements.files.delete('file_id', { id: 'id' })\n```",
|
|
6499
6499
|
perLanguage: {
|
|
6500
6500
|
typescript: {
|
|
6501
6501
|
method: 'client.entitlements.files.delete',
|
|
@@ -6553,8 +6553,8 @@ const EMBEDDED_METHODS = [
|
|
|
6553
6553
|
'page_size?: number;',
|
|
6554
6554
|
"status?: 'Pending' | 'Delivered' | 'Failed' | 'Revoked';",
|
|
6555
6555
|
],
|
|
6556
|
-
response: "{ id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string;
|
|
6557
|
-
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;
|
|
6556
|
+
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; }",
|
|
6557
|
+
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```",
|
|
6558
6558
|
perLanguage: {
|
|
6559
6559
|
typescript: {
|
|
6560
6560
|
method: 'client.entitlements.grants.list',
|
|
@@ -6601,13 +6601,13 @@ const EMBEDDED_METHODS = [
|
|
|
6601
6601
|
name: 'revoke',
|
|
6602
6602
|
endpoint: '/entitlements/{id}/grants/{grant_id}',
|
|
6603
6603
|
httpMethod: 'delete',
|
|
6604
|
-
summary: '
|
|
6605
|
-
description: '
|
|
6604
|
+
summary: 'Revoke a single grant. Idempotent: re-revoking an already-revoked\ngrant returns the grant in its current state.',
|
|
6605
|
+
description: 'Revoke a single grant. Idempotent: re-revoking an already-revoked\ngrant returns the grant in its current state.',
|
|
6606
6606
|
stainlessPath: '(resource) entitlements.grants > (method) revoke',
|
|
6607
6607
|
qualified: 'client.entitlements.grants.revoke',
|
|
6608
6608
|
params: ['id: string;', 'grant_id: string;'],
|
|
6609
|
-
response: "{ id: string; business_id: string; created_at: string; customer_id: string; entitlement_id: string;
|
|
6610
|
-
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;
|
|
6609
|
+
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; }",
|
|
6610
|
+
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```",
|
|
6611
6611
|
perLanguage: {
|
|
6612
6612
|
typescript: {
|
|
6613
6613
|
method: 'client.entitlements.grants.revoke',
|