Add one or more products to a group within a product collection.
POST
/
product-collections
/
{id}
/
groups
/
{group_id}
/
items
JavaScript
import DodoPayments from 'dodopayments';const client = new DodoPayments({ bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted});const productCollectionProducts = await client.productCollections.groups.items.create( '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { id: 'pdc_8BWv0hojwUH7iCDabr0NI', products: [{ product_id: 'product_id' }] },);console.log(productCollectionProducts);
import os
from dodopayments import DodoPayments
client = DodoPayments(
bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
)
product_collection_products = client.product_collections.groups.items.create(
group_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
id="pdc_8BWv0hojwUH7iCDabr0NI",
products=[{
"product_id": "product_id"
}],
)
print(product_collection_products)
import DodoPayments from 'dodopayments';const client = new DodoPayments({ bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted});const productCollectionProducts = await client.productCollections.groups.items.create( '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { id: 'pdc_8BWv0hojwUH7iCDabr0NI', products: [{ product_id: 'product_id' }] },);console.log(productCollectionProducts);
import os
from dodopayments import DodoPayments
client = DodoPayments(
bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
)
product_collection_products = client.product_collections.groups.items.create(
group_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
id="pdc_8BWv0hojwUH7iCDabr0NI",
products=[{
"product_id": "product_id"
}],
)
print(product_collection_products)
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Dodo Payments Documentation","description":"Documentation for Dodo Payments — the all-in-one payments, billing, and merchant of record platform for SaaS, AI, and digital products.","colors":{"primary":"#779812","light":"#C6FE1E","dark":"#166534"},"logo":{"light":"https://mintcdn.com/dodopayments/nM_mJfYkri-OpC5M/logo/light.svg?fit=max\u0026auto=format\u0026n=nM_mJfYkri-OpC5M\u0026q=85\u0026s=23f7a052f7ecb9d6570b7c95ee359a97","dark":"https://mintcdn.com/dodopayments/nM_mJfYkri-OpC5M/logo/dark.svg?fit=max\u0026auto=format\u0026n=nM_mJfYkri-OpC5M\u0026q=85\u0026s=cd6c20238a54526436f21c43fee51b26"},"favicon":"https://mintcdn.com/dodopayments/doYQc9oUE-WNz0cs/favicon.svg?fit=max\u0026auto=format\u0026n=doYQc9oUE-WNz0cs\u0026q=85\u0026s=271c6cc8ce7d6bf4d7f2b9cca029e004","background":{"color":{"light":"#FFFFFF","dark":"#0D0D0D"}},"navbar":{"links":[{"icon":"link","href":"https://docs.dodopayments.com/llms-full.txt","label":"llms-full.txt"},{"icon":"discord","href":"https://discord.gg/bYqAp4ayYh","label":"Community"},{"icon":"house","href":"https://app.dodopayments.com/","label":"Dashboard"}]},"footer":{"socials":{"x":"https://x.com/dodopayments","linkedin":"https://linkedin.com/company/dodopayments","website":"https://dodopayments.com","discord":"https://discord.gg/bYqAp4ayYh","github":"https://github.com/dodopayments","instagram":"https://www.instagram.com/dodo.payments","facebook":"https://www.facebook.com/profile.php?id=61565515607280"}},"seo":{"metatags":{"og:site_name":"Dodo Payments Documentation","twitter:card":"summary_large_image"},"indexing":"navigable"},"fonts":{"heading":{"family":"ApfelGrotezk","weight":400,"source":"fonts/ApfelGrotezk-Regular.woff2","format":"woff2"},"body":{"family":"Inter","weight":400,"source":"fonts/Inter-Variable.woff2","format":"woff2"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"introduction"},{"language":"es","href":"es/introduction"},{"language":"ar","href":"ar/introduction"},{"language":"fr","href":"fr/introduction"},{"language":"de","href":"de/introduction"},{"language":"id","href":"id/introduction"},{"language":"ja","href":"ja/introduction"},{"language":"ko","href":"ko/introduction"},{"language":"pt-BR","href":"pt-BR/introduction"},{"language":"vi","href":"vi/introduction"},{"language":"cn","href":"cn/introduction"},{"language":"hi","href":"hi/introduction"},{"language":"it","href":"it/introduction"},{"language":"sv","href":"sv/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dodopayments","hasAudioNarration":false,"actualSubdomain":"dodopayments","customDomains":["docs.dodopayments.com"],"gitSource":{"type":"github","owner":"dodopayments","repo":"dodo-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae2f30efa2de0cee84fe45c","collectionId":"cf3f41c9-9b48-4aa9-a97a-56d5cd2f4911","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2f30efa2de0cee84fe45c"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae2f30efa2de0cee84fe45c","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"en","tag":"Docs","count":170},{"language":"en","tag":"API Reference","count":163},{"language":"ar","tag":"Docs","count":153},{"language":"cn","tag":"Docs","count":153},{"language":"de","tag":"Docs","count":153},{"language":"es","tag":"Docs","count":153},{"language":"fr","tag":"Docs","count":153},{"language":"hi","tag":"Docs","count":153},{"language":"id","tag":"Docs","count":153},{"language":"it","tag":"Docs","count":153},{"language":"ja","tag":"Docs","count":153},{"language":"ko","tag":"Docs","count":153},{"language":"pt-BR","tag":"Docs","count":153},{"language":"sv","tag":"Docs","count":153},{"language":"vi","tag":"Docs","count":153},{"language":"ar","tag":"API Reference","count":151},{"language":"cn","tag":"API Reference","count":151},{"language":"de","tag":"API Reference","count":151},{"language":"es","tag":"API Reference","count":151},{"language":"fr","tag":"API Reference","count":151},{"language":"hi","tag":"API Reference","count":151},{"language":"id","tag":"API Reference","count":151},{"language":"it","tag":"API Reference","count":151},{"language":"ja","tag":"API Reference","count":151},{"language":"ko","tag":"API Reference","count":151},{"language":"pt-BR","tag":"API Reference","count":151},{"language":"sv","tag":"API Reference","count":151},{"language":"vi","tag":"API Reference","count":151},{"language":"en","tag":"Features","count":81},{"language":"ar","tag":"Features","count":81},{"language":"cn","tag":"Features","count":81},{"language":"de","tag":"Features","count":81},{"language":"es","tag":"Features","count":81},{"language":"fr","tag":"Features","count":81},{"language":"hi","tag":"Features","count":81},{"language":"id","tag":"Features","count":81},{"language":"it","tag":"Features","count":81},{"language":"ja","tag":"Features","count":81},{"language":"ko","tag":"Features","count":81},{"language":"pt-BR","tag":"Features","count":81},{"language":"sv","tag":"Features","count":81},{"language":"vi","tag":"Features","count":81},{"language":"en","tag":"Integrate","count":73},{"language":"en","tag":"Changelog","count":65},{"language":"ar","tag":"Changelog","count":65},{"language":"cn","tag":"Changelog","count":65},{"language":"de","tag":"Changelog","count":65},{"language":"es","tag":"Changelog","count":65},{"language":"fr","tag":"Changelog","count":65},{"language":"hi","tag":"Changelog","count":65},{"language":"id","tag":"Changelog","count":65},{"language":"it","tag":"Changelog","count":65},{"language":"ja","tag":"Changelog","count":65},{"language":"ko","tag":"Changelog","count":65},{"language":"pt-BR","tag":"Changelog","count":65},{"language":"sv","tag":"Changelog","count":65},{"language":"vi","tag":"Changelog","count":65},{"language":"ar","tag":"Integrate","count":59},{"language":"cn","tag":"Integrate","count":59},{"language":"de","tag":"Integrate","count":59},{"language":"es","tag":"Integrate","count":59},{"language":"fr","tag":"Integrate","count":59},{"language":"hi","tag":"Integrate","count":59},{"language":"id","tag":"Integrate","count":59},{"language":"it","tag":"Integrate","count":59},{"language":"ja","tag":"Integrate","count":59},{"language":"ko","tag":"Integrate","count":59},{"language":"pt-BR","tag":"Integrate","count":59},{"language":"sv","tag":"Integrate","count":59},{"language":"vi","tag":"Integrate","count":59},{"language":"en","tag":"External Integrations","count":32},{"language":"ar","tag":"External Integrations","count":30},{"language":"cn","tag":"External Integrations","count":30},{"language":"de","tag":"External Integrations","count":30},{"language":"es","tag":"External Integrations","count":30},{"language":"fr","tag":"External Integrations","count":30},{"language":"hi","tag":"External Integrations","count":30},{"language":"id","tag":"External Integrations","count":30},{"language":"it","tag":"External Integrations","count":30},{"language":"ja","tag":"External Integrations","count":30},{"language":"ko","tag":"External Integrations","count":30},{"language":"pt-BR","tag":"External Integrations","count":30},{"language":"sv","tag":"External Integrations","count":30},{"language":"vi","tag":"External Integrations","count":30},{"language":"en","tag":"Webhooks","count":23},{"language":"ar","tag":"Webhooks","count":23},{"language":"cn","tag":"Webhooks","count":23},{"language":"de","tag":"Webhooks","count":23},{"language":"es","tag":"Webhooks","count":23},{"language":"fr","tag":"Webhooks","count":23},{"language":"hi","tag":"Webhooks","count":23},{"language":"id","tag":"Webhooks","count":23},{"language":"it","tag":"Webhooks","count":23},{"language":"ja","tag":"Webhooks","count":23},{"language":"ko","tag":"Webhooks","count":23},{"language":"pt-BR","tag":"Webhooks","count":23},{"language":"sv","tag":"Webhooks","count":23},{"language":"vi","tag":"Webhooks","count":23},{"language":"en","tag":"Guides","count":22},{"language":"ar","tag":"Guides","count":22},{"language":"cn","tag":"Guides","count":22},{"language":"de","tag":"Guides","count":22},{"language":"es","tag":"Guides","count":22},{"language":"fr","tag":"Guides","count":22},{"language":"hi","tag":"Guides","count":22},{"language":"id","tag":"Guides","count":22},{"language":"it","tag":"Guides","count":22},{"language":"ja","tag":"Guides","count":22},{"language":"ko","tag":"Guides","count":22},{"language":"pt-BR","tag":"Guides","count":22},{"language":"sv","tag":"Guides","count":22},{"language":"vi","tag":"Guides","count":22},{"language":"en","tag":"Entitlements","count":20},{"language":"ar","tag":"Entitlements","count":20},{"language":"cn","tag":"Entitlements","count":20},{"language":"de","tag":"Entitlements","count":20},{"language":"es","tag":"Entitlements","count":20},{"language":"fr","tag":"Entitlements","count":20},{"language":"hi","tag":"Entitlements","count":20},{"language":"id","tag":"Entitlements","count":20},{"language":"it","tag":"Entitlements","count":20},{"language":"ja","tag":"Entitlements","count":20},{"language":"ko","tag":"Entitlements","count":20},{"language":"pt-BR","tag":"Entitlements","count":20},{"language":"sv","tag":"Entitlements","count":20},{"language":"vi","tag":"Entitlements","count":20},{"language":"en","tag":"Customers","count":16},{"language":"ar","tag":"Customers","count":16},{"language":"cn","tag":"Customers","count":16},{"language":"de","tag":"Customers","count":16},{"language":"es","tag":"Customers","count":16},{"language":"fr","tag":"Customers","count":16},{"language":"hi","tag":"Customers","count":16},{"language":"id","tag":"Customers","count":16},{"language":"it","tag":"Customers","count":16},{"language":"ja","tag":"Customers","count":16},{"language":"ko","tag":"Customers","count":16},{"language":"pt-BR","tag":"Customers","count":16},{"language":"sv","tag":"Customers","count":16},{"language":"vi","tag":"Customers","count":16}]},"assistantConfig":{"deflection":{"enabled":false,"email":"support@dodopayments.com","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"#content-area{max-width:60rem}h1,h2,h3,h4,h5,h6{letter-spacing:.05em!important}.welcome-page .card-group{margin:3rem auto 8rem;max-width:70rem;padding-left:1.25rem;padding-right:1.25rem}.welcome-page .card-group .card{padding:1rem}.welcome-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:20vh;text-align:center;margin-top:3rem;margin-bottom:2.5rem}.welcome-hero h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;line-height:1.2;color:#fff;color:rgb(41 42 37/1)}.welcome-hero p{font-size:1.25rem;max-width:600px;margin:0 auto;color:rgb(83 85 79/1)}.dark .welcome-hero h1{color:rgb(255 255 255/1)}.dark .welcome-hero p{color:rgb(162 164 158/1)}"}],"page":{"pagePath":"api-reference/product-collections/add-group-items","slug":"/api-reference/product-collections/add-group-items","pageMetadata":{"openapi":"post /product-collections/{id}/groups/{group_id}/items","title":"Add Products to Group","description":"Add one or more products to a group within a product collection.","keywords":["Dodo Payments","API reference","REST API","add products to group"],"href":"/api-reference/product-collections/add-group-items"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Add one or more products to a group within a product collection.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"post /product-collections/{id}/groups/{group_id}/items","title":"Add Products to Group","description":"Add one or more products to a group within a product collection.","keywords":["Dodo Payments","API reference","REST API","add products to group"],"href":"/api-reference/product-collections/add-group-items"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/dodopayments/0ee82a08f7b65bcb/seo.js","/_mintlify/custom/dodopayments/6f88c9bbee313616/assistant-loader.js"],"openApiReferenceData":{"operation":{"tags":["Product Collections"],"operationId":"add_products_to_group","parameters":["ede95ce6-5bfb-42bd-a80c-8ab02534086c","4ced9582-daba-4f07-a149-a246d5108980"],"requestBody":"cfe288af-0843-4a76-a8a5-c688425a278e","responses":{"200":"07ec7852-26d0-4b0e-9901-6aba8fa2c36c","404":"21d121a4-ef8f-459e-96a2-6c72d4f7463e","422":"d6e96b6e-7095-4770-9787-d435e2c5dc6a","500":"15b49a26-4702-40e4-b999-abd624ee1e76"},"security":["01d2f473-02ea-477c-8805-ec117344c4c8"],"x-codeSamples":[{"lang":"JavaScript","source":"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 productCollectionProducts = await client.productCollections.groups.items.create(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n { id: 'pdc_8BWv0hojwUH7iCDabr0NI', products: [{ product_id: 'product_id' }] },\n);\n\nconsole.log(productCollectionProducts);"},{"lang":"Python","source":"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)\nproduct_collection_products = client.product_collections.groups.items.create(\n group_id=\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n id=\"pdc_8BWv0hojwUH7iCDabr0NI\",\n products=[{\n \"product_id\": \"product_id\"\n }],\n)\nprint(product_collection_products)"},{"lang":"Go","source":"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\tproductCollectionProducts, err := client.ProductCollections.Groups.Items.New(\n\t\tcontext.TODO(),\n\t\t\"pdc_8BWv0hojwUH7iCDabr0NI\",\n\t\t\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n\t\tdodopayments.ProductCollectionGroupItemNewParams{\n\t\t\tProducts: dodopayments.F([]dodopayments.GroupProductParam{{\n\t\t\t\tProductID: dodopayments.F(\"product_id\"),\n\t\t\t}}),\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", productCollectionProducts)\n}\n"},{"lang":"Java","source":"package com.dodopayments.api.example;\n\nimport com.dodopayments.api.client.DodoPaymentsClient;\nimport com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;\nimport com.dodopayments.api.models.productcollections.groups.GroupProduct;\nimport com.dodopayments.api.models.productcollections.groups.items.ItemCreateParams;\nimport com.dodopayments.api.models.productcollections.groups.items.ProductCollectionProduct;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();\n\n ItemCreateParams params = ItemCreateParams.builder()\n .id(\"pdc_8BWv0hojwUH7iCDabr0NI\")\n .groupId(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n .addProduct(GroupProduct.builder()\n .productId(\"product_id\")\n .build())\n .build();\n List\u003cProductCollectionProduct> productCollectionProducts = client.productCollections().groups().items().create(params);\n }\n}"},{"lang":"Kotlin","source":"package com.dodopayments.api.example\n\nimport com.dodopayments.api.client.DodoPaymentsClient\nimport com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient\nimport com.dodopayments.api.models.productcollections.groups.GroupProduct\nimport com.dodopayments.api.models.productcollections.groups.items.ItemCreateParams\nimport com.dodopayments.api.models.productcollections.groups.items.ProductCollectionProduct\n\nfun main() {\n val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()\n\n val params: ItemCreateParams = ItemCreateParams.builder()\n .id(\"pdc_8BWv0hojwUH7iCDabr0NI\")\n .groupId(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n .addProduct(GroupProduct.builder()\n .productId(\"product_id\")\n .build())\n .build()\n val productCollectionProducts: List\u003cProductCollectionProduct> = client.productCollections().groups().items().create(params)\n}"},{"lang":"Ruby","source":"require \"dodopayments\"\n\ndodo_payments = Dodopayments::Client.new(\n bearer_token: \"My Bearer Token\",\n environment: \"test_mode\" # defaults to \"live_mode\"\n)\n\nproduct_collection_products = dodo_payments.product_collections.groups.items.create(\n \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n id: \"pdc_8BWv0hojwUH7iCDabr0NI\",\n products: [{product_id: \"product_id\"}]\n)\n\nputs(product_collection_products)"},{"lang":"PHP","source":"\u003c?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\nuse Dodopayments\\Client;\nuse Dodopayments\\Core\\Exceptions\\APIException;\n\n$client = new Client(\n bearerToken: getenv('DODO_PAYMENTS_API_KEY') ?: 'My Bearer Token',\n environment: 'test_mode',\n);\n\ntry {\n $productCollectionProducts = $client\n ->productCollections\n ->groups\n ->items\n ->create(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n id: 'pdc_8BWv0hojwUH7iCDabr0NI',\n products: [['productID' => 'product_id', 'status' => true]],\n );\n\n var_dump($productCollectionProducts);\n} catch (APIException $e) {\n echo $e->getMessage();\n}"},{"lang":"C#","source":"using System;\nusing DodoPayments.Client;\nusing DodoPayments.Client.Models.ProductCollections.Groups.Items;\n\nDodoPaymentsClient client = new();\n\nItemCreateParams parameters = new()\n{\n ID = \"pdc_8BWv0hojwUH7iCDabr0NI\",\n GroupID = \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n Products =\n [\n new()\n {\n ProductID = \"product_id\",\n Status = true,\n },\n ],\n};\n\nvar productCollectionProducts = await client.ProductCollections.Groups.Items.Create(parameters);\n\nConsole.WriteLine(productCollectionProducts);"},{"lang":"Rust","source":"use dodopayments::Client;\n\n#[tokio::main]\nasync fn main() -> dodopayments::Result\u003c()> {\n let client = Client::from_env()?;\n let id = \"id\";\n let group_id = \"group_id\";\n let result = client\n .product_collections()\n .groups()\n .items()\n .create()\n .id(id)\n .group_id(group_id)\n .body(dodopayments::models::ProductCollectionsGroupsItemsCreateParams {\n products: Some(vec![dodopayments::models::GroupProduct {\n product_id: \"product_id\".to_string(),\n status: None,\n }]),\n ..Default::default()\n })\n .await?;\n println!(\"{result:?}\");\n Ok(())\n}"}],"method":"post","type":"path","servers":["62f4a952-bc38-4163-becf-b5a87bd86274","fdfdd791-a3e6-4d73-ba9d-4f874b6cae40"],"path":"/product-collections/{id}/groups/{group_id}/items","baseUrlOptions":["https://test.dodopayments.com/","https://live.dodopayments.com/"],"title":"","description":"Add one or more products to a group within a product collection.","codeSamples":[{"lang":"JavaScript","source":"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 productCollectionProducts = await client.productCollections.groups.items.create(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n { id: 'pdc_8BWv0hojwUH7iCDabr0NI', products: [{ product_id: 'product_id' }] },\n);\n\nconsole.log(productCollectionProducts);"},{"lang":"Python","source":"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)\nproduct_collection_products = client.product_collections.groups.items.create(\n group_id=\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n id=\"pdc_8BWv0hojwUH7iCDabr0NI\",\n products=[{\n \"product_id\": \"product_id\"\n }],\n)\nprint(product_collection_products)"},{"lang":"Go","source":"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\tproductCollectionProducts, err := client.ProductCollections.Groups.Items.New(\n\t\tcontext.TODO(),\n\t\t\"pdc_8BWv0hojwUH7iCDabr0NI\",\n\t\t\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n\t\tdodopayments.ProductCollectionGroupItemNewParams{\n\t\t\tProducts: dodopayments.F([]dodopayments.GroupProductParam{{\n\t\t\t\tProductID: dodopayments.F(\"product_id\"),\n\t\t\t}}),\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", productCollectionProducts)\n}\n"},{"lang":"Java","source":"package com.dodopayments.api.example;\n\nimport com.dodopayments.api.client.DodoPaymentsClient;\nimport com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;\nimport com.dodopayments.api.models.productcollections.groups.GroupProduct;\nimport com.dodopayments.api.models.productcollections.groups.items.ItemCreateParams;\nimport com.dodopayments.api.models.productcollections.groups.items.ProductCollectionProduct;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();\n\n ItemCreateParams params = ItemCreateParams.builder()\n .id(\"pdc_8BWv0hojwUH7iCDabr0NI\")\n .groupId(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n .addProduct(GroupProduct.builder()\n .productId(\"product_id\")\n .build())\n .build();\n List\u003cProductCollectionProduct> productCollectionProducts = client.productCollections().groups().items().create(params);\n }\n}"},{"lang":"Kotlin","source":"package com.dodopayments.api.example\n\nimport com.dodopayments.api.client.DodoPaymentsClient\nimport com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient\nimport com.dodopayments.api.models.productcollections.groups.GroupProduct\nimport com.dodopayments.api.models.productcollections.groups.items.ItemCreateParams\nimport com.dodopayments.api.models.productcollections.groups.items.ProductCollectionProduct\n\nfun main() {\n val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()\n\n val params: ItemCreateParams = ItemCreateParams.builder()\n .id(\"pdc_8BWv0hojwUH7iCDabr0NI\")\n .groupId(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n .addProduct(GroupProduct.builder()\n .productId(\"product_id\")\n .build())\n .build()\n val productCollectionProducts: List\u003cProductCollectionProduct> = client.productCollections().groups().items().create(params)\n}"},{"lang":"Ruby","source":"require \"dodopayments\"\n\ndodo_payments = Dodopayments::Client.new(\n bearer_token: \"My Bearer Token\",\n environment: \"test_mode\" # defaults to \"live_mode\"\n)\n\nproduct_collection_products = dodo_payments.product_collections.groups.items.create(\n \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n id: \"pdc_8BWv0hojwUH7iCDabr0NI\",\n products: [{product_id: \"product_id\"}]\n)\n\nputs(product_collection_products)"},{"lang":"PHP","source":"\u003c?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\nuse Dodopayments\\Client;\nuse Dodopayments\\Core\\Exceptions\\APIException;\n\n$client = new Client(\n bearerToken: getenv('DODO_PAYMENTS_API_KEY') ?: 'My Bearer Token',\n environment: 'test_mode',\n);\n\ntry {\n $productCollectionProducts = $client\n ->productCollections\n ->groups\n ->items\n ->create(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n id: 'pdc_8BWv0hojwUH7iCDabr0NI',\n products: [['productID' => 'product_id', 'status' => true]],\n );\n\n var_dump($productCollectionProducts);\n} catch (APIException $e) {\n echo $e->getMessage();\n}"},{"lang":"C#","source":"using System;\nusing DodoPayments.Client;\nusing DodoPayments.Client.Models.ProductCollections.Groups.Items;\n\nDodoPaymentsClient client = new();\n\nItemCreateParams parameters = new()\n{\n ID = \"pdc_8BWv0hojwUH7iCDabr0NI\",\n GroupID = \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n Products =\n [\n new()\n {\n ProductID = \"product_id\",\n Status = true,\n },\n ],\n};\n\nvar productCollectionProducts = await client.ProductCollections.Groups.Items.Create(parameters);\n\nConsole.WriteLine(productCollectionProducts);"},{"lang":"Rust","source":"use dodopayments::Client;\n\n#[tokio::main]\nasync fn main() -> dodopayments::Result\u003c()> {\n let client = Client::from_env()?;\n let id = \"id\";\n let group_id = \"group_id\";\n let result = client\n .product_collections()\n .groups()\n .items()\n .create()\n .id(id)\n .group_id(group_id)\n .body(dodopayments::models::ProductCollectionsGroupsItemsCreateParams {\n products: Some(vec![dodopayments::models::GroupProduct {\n product_id: \"product_id\".to_string(),\n status: None,\n }]),\n ..Default::default()\n })\n .await?;\n println!(\"{result:?}\");\n Ok(())\n}"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"ede95ce6-5bfb-42bd-a80c-8ab02534086c":{"name":"id","in":"path","description":"Product Collection Id","required":true,"schema":{"type":"string","isRequired":true,"description":"Product Collection Id","uniqueKey":"","typeLabel":"string"},"example":"pdc_8BWv0hojwUH7iCDabr0NI"},"4ced9582-daba-4f07-a149-a246d5108980":{"name":"group_id","in":"path","description":"Product Collection Group Id","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"description":"Product Collection Group Id","uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["products"],"properties":{"products":{"type":"array","items":{"type":"object","required":["product_id"],"properties":{"product_id":{"type":"string","description":"Product ID to include in the group","isRequired":true,"uniqueKey":"products.items.[INDEX].product_id","typeLabel":"string"},"status":{"oneOf":[{"type":"boolean","description":"Status of the product in this group (defaults to true if not provided)","uniqueKey":"products.items.[INDEX].status.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Status of the product in this group (defaults to true if not provided)","uniqueKey":"products.items.[INDEX].status.oneOf.1","typeLabel":"null"}],"uniqueKey":"products.items.[INDEX].status","typeLabel":"boolean | null"}},"uniqueKey":"products.items.[INDEX]","typeLabel":"object"},"description":"Products to add to the group","isRequired":true,"uniqueKey":"products","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"products":[{"product_id":"\u003cstring>","status":true}]}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"07ec7852-26d0-4b0e-9901-6aba8fa2c36c":{"description":"Products added successfully","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","product_id","status","is_recurring","license_key_enabled","meters_count","files_count","addons_count","has_credit_entitlements"],"properties":{"addons_count":{"type":"integer","format":"int64","isRequired":true,"uniqueKey":"items.[INDEX].addons_count","typeLabel":"integer\u003cint64>"},"files_count":{"type":"integer","format":"int64","isRequired":true,"uniqueKey":"items.[INDEX].files_count","typeLabel":"integer\u003cint64>"},"has_credit_entitlements":{"type":"boolean","description":"Whether this product has any credit entitlements attached","isRequired":true,"uniqueKey":"items.[INDEX].has_credit_entitlements","typeLabel":"boolean"},"id":{"type":"string","isRequired":true,"uniqueKey":"items.[INDEX].id","typeLabel":"string"},"is_recurring":{"type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].is_recurring","typeLabel":"boolean"},"license_key_enabled":{"type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].license_key_enabled","typeLabel":"boolean"},"meters_count":{"type":"integer","format":"int64","isRequired":true,"uniqueKey":"items.[INDEX].meters_count","typeLabel":"integer\u003cint64>"},"product_id":{"type":"string","isRequired":true,"uniqueKey":"items.[INDEX].product_id","typeLabel":"string"},"status":{"type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].status","typeLabel":"boolean"},"currency":{"oneOf":[{"type":"null","uniqueKey":"items.[INDEX].currency.oneOf.0","typeLabel":"null"},{"type":"string","enum":["AED","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BWP","BYN","BZD","CAD","CHF","CLP","CNY","COP","CRC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","JMD","JOD","JPY","KES","KGS","KHR","KMF","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SEK","SGD","SHP","SLE","SLL","SOS","SRD","SSP","STN","SVC","SZL","THB","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW"],"uniqueKey":"items.[INDEX].currency.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"items.[INDEX].currency","typeLabel":"null | enum\u003cstring>"},"description":{"oneOf":[{"type":"string","uniqueKey":"items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].description","typeLabel":"string | null"},"name":{"oneOf":[{"type":"string","uniqueKey":"items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].name","typeLabel":"string | null"},"price":{"oneOf":[{"type":"integer","format":"int32","uniqueKey":"items.[INDEX].price.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","uniqueKey":"items.[INDEX].price.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price","typeLabel":"integer\u003cint32> | null"},"price_detail":{"oneOf":[{"type":"null","uniqueKey":"items.[INDEX].price_detail.oneOf.0","typeLabel":"null"},{"type":"object","title":"One Time Price","description":"One-time price details.","required":["type","price","currency"],"properties":{"currency":{"type":"string","enum":["AED","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BWP","BYN","BZD","CAD","CHF","CLP","CNY","COP","CRC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","JMD","JOD","JPY","KES","KGS","KHR","KMF","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SEK","SGD","SHP","SLE","SLL","SOS","SRD","SSP","STN","SVC","SZL","THB","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW"],"description":"The currency in which the payment is made.","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.1.currency","typeLabel":"enum\u003cstring>"},"price":{"type":"integer","format":"int32","description":"The payment amount, in the smallest denomination of the currency (e.g., cents for USD).\nFor example, to charge $1.00, pass `100`.\n\nIf [`pay_what_you_want`](Self::pay_what_you_want) is set to `true`, this field represents\nthe **minimum** amount the customer must pay.","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.1.price","typeLabel":"integer\u003cint32>"},"type":{"type":"string","enum":["one_time_price"],"x-stainless-const":true,"isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.1.type","typeLabel":"enum\u003cstring>"},"discount":{"type":"integer","format":"int64","description":"Deprecated: use `discount_bps` instead.\n\nDiscount applied to the price, represented as a percentage (0 to 100).\nA response rounds this value to the nearest whole percent.\nDefaults to `0`.","deprecated":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.1.discount","typeLabel":"integer\u003cint64>"},"discount_bps":{"oneOf":[{"type":"integer","format":"int32","description":"Discount applied to the price, in basis points. 100 basis points make\none percent, so `1250` is a discount of 12.5%.\n\nUse this field for a discount with a fraction of a percent. A request\nthat sends this field ignores `discount`. A value of `0` gives no\ndiscount.","uniqueKey":"items.[INDEX].price_detail.oneOf.1.discount_bps.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Discount applied to the price, in basis points. 100 basis points make\none percent, so `1250` is a discount of 12.5%.\n\nUse this field for a discount with a fraction of a percent. A request\nthat sends this field ignores `discount`. A value of `0` gives no\ndiscount.","uniqueKey":"items.[INDEX].price_detail.oneOf.1.discount_bps.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.1.discount_bps","typeLabel":"integer\u003cint32> | null"},"pay_what_you_want":{"type":"boolean","description":"Indicates whether the customer can pay any amount they choose.\nIf set to `true`, the [`price`](Self::price) field is the minimum amount.","uniqueKey":"items.[INDEX].price_detail.oneOf.1.pay_what_you_want","typeLabel":"boolean"},"purchasing_power_parity":{"type":"boolean","description":"Opts this price in to purchasing power parity. The business must also\nenable purchasing power parity. The discount percentage per country is\nalways business-wide. Defaults to `false`.","uniqueKey":"items.[INDEX].price_detail.oneOf.1.purchasing_power_parity","typeLabel":"boolean"},"suggested_price":{"oneOf":[{"type":"integer","format":"int32","description":"A suggested price for the user to pay. This value is only considered if\n[`pay_what_you_want`](Self::pay_what_you_want) is `true`. Otherwise, it is ignored.","uniqueKey":"items.[INDEX].price_detail.oneOf.1.suggested_price.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"A suggested price for the user to pay. This value is only considered if\n[`pay_what_you_want`](Self::pay_what_you_want) is `true`. Otherwise, it is ignored.","uniqueKey":"items.[INDEX].price_detail.oneOf.1.suggested_price.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.1.suggested_price","typeLabel":"integer\u003cint32> | null"},"tax_inclusive":{"oneOf":[{"type":"boolean","description":"Indicates if the price is tax inclusive.","uniqueKey":"items.[INDEX].price_detail.oneOf.1.tax_inclusive.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Indicates if the price is tax inclusive.","uniqueKey":"items.[INDEX].price_detail.oneOf.1.tax_inclusive.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.1.tax_inclusive","typeLabel":"boolean | null"}},"uniqueKey":"items.[INDEX].price_detail.oneOf.1","typeLabel":"One Time Price · object"},{"type":"object","title":"Recurring Price","description":"Recurring price details.","required":["type","price","currency","payment_frequency_count","payment_frequency_interval","subscription_period_count","subscription_period_interval"],"properties":{"currency":{"type":"string","enum":["AED","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BWP","BYN","BZD","CAD","CHF","CLP","CNY","COP","CRC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","JMD","JOD","JPY","KES","KGS","KHR","KMF","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SEK","SGD","SHP","SLE","SLL","SOS","SRD","SSP","STN","SVC","SZL","THB","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW"],"description":"The currency in which the payment is made.","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.2.currency","typeLabel":"enum\u003cstring>"},"payment_frequency_count":{"type":"integer","format":"int32","description":"Number of `payment_frequency_interval` units between two charges.\nThis field sets the billing cycle.\nFor example, `1` with a `payment_frequency_interval` of `month` charges the customer every month.","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.2.payment_frequency_count","typeLabel":"integer\u003cint32>"},"payment_frequency_interval":{"type":"string","description":"The time unit of the billing cycle (e.g., day, month, year).\nUse it with `payment_frequency_count`.","enum":["Day","Week","Month","Year"],"isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.2.payment_frequency_interval","typeLabel":"enum\u003cstring>"},"price":{"type":"integer","format":"int32","description":"The payment amount. Represented in the lowest denomination of the currency (e.g., cents for USD).\nFor example, to charge $1.00, pass `100`.","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.2.price","typeLabel":"integer\u003cint32>"},"subscription_period_count":{"type":"integer","format":"int32","description":"Number of `subscription_period_interval` units for the total duration of the subscription.\nThis field does not set the billing cycle. Use `payment_frequency_count` for the billing cycle.\nWhen this period ends, the subscription expires. Dodo Payments does not start a new\nbilling cycle after the subscription expires. Dodo Payments can still retry a failed\npayment for an earlier billing cycle.\n\nFor a subscription that renews until the customer cancels it, set this to `20` with a\n`subscription_period_interval` of `year`. This is the recommended value and also the maximum.\nThe subscription expires after 20 years if the customer does not cancel it before then.\n\nFor example, a monthly plan uses a `payment_frequency_count` of `1`, a `payment_frequency_interval`\nof `month`, and a subscription period of `20` `year`. Do not set the subscription period to\n`1` `month` for a monthly plan: the subscription then expires after one month.","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.2.subscription_period_count","typeLabel":"integer\u003cint32>"},"subscription_period_interval":{"type":"string","description":"The time unit of the total subscription duration (e.g., day, month, year).\nUse it with `subscription_period_count`. The recommended value is `year`, with a\n`subscription_period_count` of `20`.","enum":["Day","Week","Month","Year"],"isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.2.subscription_period_interval","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["recurring_price"],"x-stainless-const":true,"isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.2.type","typeLabel":"enum\u003cstring>"},"discount":{"type":"integer","format":"int64","description":"Deprecated: use `discount_bps` instead.\n\nDiscount applied to the price, represented as a percentage (0 to 100).\nA response rounds this value to the nearest whole percent.\nDefaults to `0`.","deprecated":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.2.discount","typeLabel":"integer\u003cint64>"},"discount_bps":{"oneOf":[{"type":"integer","format":"int32","description":"Discount applied to the price, in basis points. 100 basis points make\none percent, so `1250` is a discount of 12.5%.\n\nUse this field for a discount with a fraction of a percent. A request\nthat sends this field ignores `discount`. A value of `0` gives no\ndiscount.","uniqueKey":"items.[INDEX].price_detail.oneOf.2.discount_bps.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Discount applied to the price, in basis points. 100 basis points make\none percent, so `1250` is a discount of 12.5%.\n\nUse this field for a discount with a fraction of a percent. A request\nthat sends this field ignores `discount`. A value of `0` gives no\ndiscount.","uniqueKey":"items.[INDEX].price_detail.oneOf.2.discount_bps.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.2.discount_bps","typeLabel":"integer\u003cint32> | null"},"purchasing_power_parity":{"type":"boolean","description":"Opts this price in to purchasing power parity. The business must also\nenable purchasing power parity. The discount percentage per country is\nalways business-wide. Defaults to `false`.","uniqueKey":"items.[INDEX].price_detail.oneOf.2.purchasing_power_parity","typeLabel":"boolean"},"tax_inclusive":{"oneOf":[{"type":"boolean","description":"Indicates if the price is tax inclusive","uniqueKey":"items.[INDEX].price_detail.oneOf.2.tax_inclusive.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Indicates if the price is tax inclusive","uniqueKey":"items.[INDEX].price_detail.oneOf.2.tax_inclusive.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.2.tax_inclusive","typeLabel":"boolean | null"},"trial_amount":{"oneOf":[{"type":"integer","format":"int32","description":"Amount charged today for a paid trial, in the price currency's minor units.\nRequires `trial_period_days > 0`. Omit or null for a free trial (the default).","uniqueKey":"items.[INDEX].price_detail.oneOf.2.trial_amount.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Amount charged today for a paid trial, in the price currency's minor units.\nRequires `trial_period_days > 0`. Omit or null for a free trial (the default).","uniqueKey":"items.[INDEX].price_detail.oneOf.2.trial_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.2.trial_amount","typeLabel":"integer\u003cint32> | null"},"trial_apply_discounts":{"oneOf":[{"type":"boolean","description":"Whether discount codes reduce the trial charge. Defaults to false. Only meaningful\nwhen a paid trial is configured.","uniqueKey":"items.[INDEX].price_detail.oneOf.2.trial_apply_discounts.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether discount codes reduce the trial charge. Defaults to false. Only meaningful\nwhen a paid trial is configured.","uniqueKey":"items.[INDEX].price_detail.oneOf.2.trial_apply_discounts.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.2.trial_apply_discounts","typeLabel":"boolean | null"},"trial_payment_method_optional":{"type":"boolean","description":"Let a customer start a free trial with no card. Defaults to false.","uniqueKey":"items.[INDEX].price_detail.oneOf.2.trial_payment_method_optional","typeLabel":"boolean"},"trial_period_days":{"type":"integer","format":"int32","description":"Number of days for the trial period. A value of `0` indicates no trial period.","uniqueKey":"items.[INDEX].price_detail.oneOf.2.trial_period_days","typeLabel":"integer\u003cint32>"},"zero_amount_payment_method_optional":{"type":"boolean","description":"Let a customer start a subscription with no card, when the amount due\ntoday is `0` (a native `0` price, or a 100% discount). Defaults to false.","uniqueKey":"items.[INDEX].price_detail.oneOf.2.zero_amount_payment_method_optional","typeLabel":"boolean"}},"uniqueKey":"items.[INDEX].price_detail.oneOf.2","typeLabel":"Recurring Price · object"},{"type":"object","title":"Usage Based Price","description":"Usage Based price details.","required":["type","fixed_price","currency","payment_frequency_count","payment_frequency_interval","subscription_period_count","subscription_period_interval"],"properties":{"currency":{"type":"string","enum":["AED","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BWP","BYN","BZD","CAD","CHF","CLP","CNY","COP","CRC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","JMD","JOD","JPY","KES","KGS","KHR","KMF","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SEK","SGD","SHP","SLE","SLL","SOS","SRD","SSP","STN","SVC","SZL","THB","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW"],"description":"The currency in which the payment is made.","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.3.currency","typeLabel":"enum\u003cstring>"},"fixed_price":{"type":"integer","format":"int32","description":"The fixed payment amount. Represented in the lowest denomination of the currency (e.g., cents for USD).\nFor example, to charge $1.00, pass `100`.","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.3.fixed_price","typeLabel":"integer\u003cint32>"},"payment_frequency_count":{"type":"integer","format":"int32","description":"Number of `payment_frequency_interval` units between two charges.\nThis field sets the billing cycle.\nFor example, `1` with a `payment_frequency_interval` of `month` charges the customer every month.","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.3.payment_frequency_count","typeLabel":"integer\u003cint32>"},"payment_frequency_interval":{"type":"string","description":"The time unit of the billing cycle (e.g., day, month, year).\nUse it with `payment_frequency_count`.","enum":["Day","Week","Month","Year"],"isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.3.payment_frequency_interval","typeLabel":"enum\u003cstring>"},"subscription_period_count":{"type":"integer","format":"int32","description":"Number of `subscription_period_interval` units for the total duration of the subscription.\nThis field does not set the billing cycle. Use `payment_frequency_count` for the billing cycle.\nWhen this period ends, the subscription expires. Dodo Payments does not start a new\nbilling cycle after the subscription expires. Dodo Payments can still retry a failed\npayment for an earlier billing cycle.\n\nFor a subscription that renews until the customer cancels it, set this to `20` with a\n`subscription_period_interval` of `year`. This is the recommended value and also the maximum.\nThe subscription expires after 20 years if the customer does not cancel it before then.\n\nFor example, a monthly plan uses a `payment_frequency_count` of `1`, a `payment_frequency_interval`\nof `month`, and a subscription period of `20` `year`. Do not set the subscription period to\n`1` `month` for a monthly plan: the subscription then expires after one month.","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.3.subscription_period_count","typeLabel":"integer\u003cint32>"},"subscription_period_interval":{"type":"string","description":"The time unit of the total subscription duration (e.g., day, month, year).\nUse it with `subscription_period_count`. The recommended value is `year`, with a\n`subscription_period_count` of `20`.","enum":["Day","Week","Month","Year"],"isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.3.subscription_period_interval","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["usage_based_price"],"x-stainless-const":true,"isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.3.type","typeLabel":"enum\u003cstring>"},"discount":{"type":"integer","format":"int64","description":"Deprecated: use `discount_bps` instead.\n\nDiscount applied to the price, represented as a percentage (0 to 100).\nA response rounds this value to the nearest whole percent.\nDefaults to `0`.","deprecated":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.3.discount","typeLabel":"integer\u003cint64>"},"discount_bps":{"oneOf":[{"type":"integer","format":"int32","description":"Discount applied to the price, in basis points. 100 basis points make\none percent, so `1250` is a discount of 12.5%.\n\nUse this field for a discount with a fraction of a percent. A request\nthat sends this field ignores `discount`. A value of `0` gives no\ndiscount.","uniqueKey":"items.[INDEX].price_detail.oneOf.3.discount_bps.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Discount applied to the price, in basis points. 100 basis points make\none percent, so `1250` is a discount of 12.5%.\n\nUse this field for a discount with a fraction of a percent. A request\nthat sends this field ignores `discount`. A value of `0` gives no\ndiscount.","uniqueKey":"items.[INDEX].price_detail.oneOf.3.discount_bps.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.3.discount_bps","typeLabel":"integer\u003cint32> | null"},"meters":{"oneOf":[{"type":"array","items":{"type":"object","title":"Add Meter To Price","required":["meter_id"],"properties":{"meter_id":{"type":"string","isRequired":true,"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].meter_id","typeLabel":"string"},"credit_entitlement_id":{"oneOf":[{"type":"string","description":"Optional credit entitlement ID to link this meter to for credit-based billing","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].credit_entitlement_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional credit entitlement ID to link this meter to for credit-based billing","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].credit_entitlement_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].credit_entitlement_id","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"Meter description. Will ignored on Request, but will be shown in response","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter description. Will ignored on Request, but will be shown in response","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].description","typeLabel":"string | null"},"free_threshold":{"oneOf":[{"type":"integer","format":"int64","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].free_threshold.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].free_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].free_threshold","typeLabel":"integer\u003cint64> | null"},"measurement_unit":{"oneOf":[{"type":"string","description":"Meter measurement unit. Will ignored on Request, but will be shown in response","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].measurement_unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter measurement unit. Will ignored on Request, but will be shown in response","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].measurement_unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].measurement_unit","typeLabel":"string | null"},"meter_units_per_credit":{"oneOf":[{"type":"string","description":"Number of meter units that equal one credit. Required when credit_entitlement_id is set.","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].meter_units_per_credit.oneOf.0","typeLabel":"string"},{"type":"null","description":"Number of meter units that equal one credit. Required when credit_entitlement_id is set.","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].meter_units_per_credit.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].meter_units_per_credit","typeLabel":"string | null"},"name":{"oneOf":[{"type":"string","description":"Meter name. Will ignored on Request, but will be shown in response","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Meter name. Will ignored on Request, but will be shown in response","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].name","typeLabel":"string | null"},"price_per_unit":{"oneOf":[{"type":"string","description":"The price per unit in lowest denomination. Must be greater than zero. Supports up to 5 digits before decimal point and 12 decimal places.","example":"10.50","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].price_per_unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"The price per unit in lowest denomination. Must be greater than zero. Supports up to 5 digits before decimal point and 12 decimal places.","example":"10.50","uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].price_per_unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX].price_per_unit","typeLabel":"string | null"}},"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0.items.[INDEX]","typeLabel":"Add Meter To Price · object"},"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.0","typeLabel":"Add Meter To Price · object[]"},{"type":"null","items":{"type":"object","title":"Add Meter To Price","required":["meter_id"],"properties":{"credit_entitlement_id":{"oneOf":[{"type":"string","description":"Optional credit entitlement ID to link this meter to for credit-based billing"},{"type":"null","description":"Optional credit entitlement ID to link this meter to for credit-based billing"}]},"description":{"oneOf":[{"type":"string","description":"Meter description. Will ignored on Request, but will be shown in response"},{"type":"null","description":"Meter description. Will ignored on Request, but will be shown in response"}]},"free_threshold":{"oneOf":[{"type":"integer","format":"int64"},{"type":"null","format":"int64"}]},"measurement_unit":{"oneOf":[{"type":"string","description":"Meter measurement unit. Will ignored on Request, but will be shown in response"},{"type":"null","description":"Meter measurement unit. Will ignored on Request, but will be shown in response"}]},"meter_id":{"type":"string"},"meter_units_per_credit":{"oneOf":[{"type":"string","description":"Number of meter units that equal one credit. Required when credit_entitlement_id is set."},{"type":"null","description":"Number of meter units that equal one credit. Required when credit_entitlement_id is set."}]},"name":{"oneOf":[{"type":"string","description":"Meter name. Will ignored on Request, but will be shown in response"},{"type":"null","description":"Meter name. Will ignored on Request, but will be shown in response"}]},"price_per_unit":{"oneOf":[{"type":"string","description":"The price per unit in lowest denomination. Must be greater than zero. Supports up to 5 digits before decimal point and 12 decimal places.","example":"10.50"},{"type":"null","description":"The price per unit in lowest denomination. Must be greater than zero. Supports up to 5 digits before decimal point and 12 decimal places.","example":"10.50"}]}}},"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.3.meters","typeLabel":"Add Meter To Price · object[] | null"},"purchasing_power_parity":{"type":"boolean","description":"Opts this price in to purchasing power parity. The business must also\nenable purchasing power parity. The discount percentage per country is\nalways business-wide. Applies to the fixed fee only, never to metered\nusage. Defaults to `false`.","uniqueKey":"items.[INDEX].price_detail.oneOf.3.purchasing_power_parity","typeLabel":"boolean"},"tax_inclusive":{"oneOf":[{"type":"boolean","description":"Indicates if the price is tax inclusive","uniqueKey":"items.[INDEX].price_detail.oneOf.3.tax_inclusive.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Indicates if the price is tax inclusive","uniqueKey":"items.[INDEX].price_detail.oneOf.3.tax_inclusive.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].price_detail.oneOf.3.tax_inclusive","typeLabel":"boolean | null"}},"uniqueKey":"items.[INDEX].price_detail.oneOf.3","typeLabel":"Usage Based Price · object"}],"uniqueKey":"items.[INDEX].price_detail","typeLabel":"null | One Time Price · object | Recurring Price · object | Usage Based Price · object"},"tax_category":{"oneOf":[{"type":"null","uniqueKey":"items.[INDEX].tax_category.oneOf.0","typeLabel":"null"},{"type":"string","description":"Represents the different categories of taxation applicable to various products and services.","enum":["digital_products","saas","e_book","edtech","live_tutoring"],"uniqueKey":"items.[INDEX].tax_category.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"items.[INDEX].tax_category","typeLabel":"null | enum\u003cstring>"},"tax_inclusive":{"oneOf":[{"type":"boolean","uniqueKey":"items.[INDEX].tax_inclusive.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"items.[INDEX].tax_inclusive.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].tax_inclusive","typeLabel":"boolean | null"}},"uniqueKey":"items.[INDEX]","typeLabel":"object"},"uniqueKey":"","typeLabel":"object[]"},"examples":{"Example":{"title":"Example","value":[{"addons_count":123,"files_count":123,"has_credit_entitlements":true,"id":"\u003cstring>","is_recurring":true,"license_key_enabled":true,"meters_count":123,"product_id":"\u003cstring>","status":true,"currency":"AED","description":"\u003cstring>","name":"\u003cstring>","price":123,"price_detail":{"currency":"AED","price":123,"type":"one_time_price","discount":123,"discount_bps":123,"pay_what_you_want":true,"purchasing_power_parity":true,"suggested_price":123,"tax_inclusive":true},"tax_category":"digital_products","tax_inclusive":true}]}},"exampleType":"generated"}},"exampleType":"generated"},"21d121a4-ef8f-459e-96a2-6c72d4f7463e":{"description":"Collection or Group not found","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"d6e96b6e-7095-4770-9787-d435e2c5dc6a":{"description":"Invalid Request Object or Parameters","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"15b49a26-4702-40e4-b999-abd624ee1e76":{"description":"Something went wrong :(","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"01d2f473-02ea-477c-8805-ec117344c4c8":{"API_KEY":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"API_KEY"}}},"servers":{"62f4a952-bc38-4163-becf-b5a87bd86274":{"url":"https://test.dodopayments.com/","description":"Test Mode Server Host"},"fdfdd791-a3e6-4d73-ba9d-4f874b6cae40":{"url":"https://live.dodopayments.com/","description":"Live Mode Server Host"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"API_KEY"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"API_KEY","name":"Authorization"}],"title":"API_KEY"}]},"originalFileLocation":"openapi/openapi.documented.yml"},"subdomain":"dodopayments","siteName":"Dodo Payments Documentation","title":"Add Products to Group - Dodo Payments Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/product-collections/add-group-items","matchLevel":0},"es":{"href":"/es/api-reference/product-collections/add-group-items","matchLevel":1},"ar":{"href":"/ar/api-reference/product-collections/add-group-items","matchLevel":1},"fr":{"href":"/fr/api-reference/product-collections/add-group-items","matchLevel":1},"de":{"href":"/de/api-reference/product-collections/add-group-items","matchLevel":1},"id":{"href":"/id/api-reference/product-collections/add-group-items","matchLevel":1},"ja":{"href":"/ja/api-reference/product-collections/add-group-items","matchLevel":1},"ko":{"href":"/ko/api-reference/product-collections/add-group-items","matchLevel":1},"pt-BR":{"href":"/pt-BR/api-reference/product-collections/add-group-items","matchLevel":1},"vi":{"href":"/vi/api-reference/product-collections/add-group-items","matchLevel":1},"cn":{"href":"/cn/api-reference/product-collections/add-group-items","matchLevel":1},"hi":{"href":"/hi/api-reference/product-collections/add-group-items","matchLevel":1},"it":{"href":"/it/api-reference/product-collections/add-group-items","matchLevel":1},"sv":{"href":"/sv/api-reference/product-collections/add-group-items","matchLevel":1}}},"lastModified":"2026-05-21T14:09:32.951Z","gitLastModified":"2026-05-21T14:06:23.000Z","originalFileLocation":"api-reference/product-collections/add-group-items.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Add one or more products to a group within a product collection.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dodo Payments Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add Products to Group - Dodo Payments Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Add one or more products to a group within a product collection.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dodo Payments Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dodopayments.mintlify.app/_mintlify/api/og/v2?division=Product+Collections\u0026amp;title=Add+Products+to+Group\u0026amp;description=Add+one+or+more+products+to+a+group+within+a+product+collection.\u0026amp;theme=7deaaa10b0ab3bbb6a23be51\u0026amp;signature=3d91380b9f7197d4121ee8651dfc9c0dbca3cef80ccacb68336b64d7e1bfbbbc\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Add Products to Group - Dodo Payments Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Add one or more products to a group within a product collection.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dodopayments.mintlify.app/_mintlify/api/og/v2?division=Product+Collections\u0026amp;title=Add+Products+to+Group\u0026amp;description=Add+one+or+more+products+to+a+group+within+a+product+collection.\u0026amp;theme=7deaaa10b0ab3bbb6a23be51\u0026amp;signature=3d91380b9f7197d4121ee8651dfc9c0dbca3cef80ccacb68336b64d7e1bfbbbc\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dodo Payments Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#779812\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/product-collections/add-group-items.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.dodopayments.com/es/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.dodopayments.com/ar/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.dodopayments.com/fr/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.dodopayments.com/de/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"id\" href=\"https://docs.dodopayments.com/id/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.dodopayments.com/ja/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.dodopayments.com/ko/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.dodopayments.com/pt-BR/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"vi\" href=\"https://docs.dodopayments.com/vi/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.dodopayments.com/cn/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"hi\" href=\"https://docs.dodopayments.com/hi/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://docs.dodopayments.com/it/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"sv\" href=\"https://docs.dodopayments.com/sv/api-reference/product-collections/add-group-items\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.dodopayments.com/#organization\",\"name\":\"Dodo Payments Documentation\",\"url\":\"https://docs.dodopayments.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dodopayments/nM_mJfYkri-OpC5M/logo/light.svg?fit=max\u0026auto=format\u0026n=nM_mJfYkri-OpC5M\u0026q=85\u0026s=23f7a052f7ecb9d6570b7c95ee359a97\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.dodopayments.com#website\",\"name\":\"Dodo Payments Documentation\",\"url\":\"https://docs.dodopayments.com\",\"publisher\":{\"@id\":\"https://docs.dodopayments.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items#webpage\",\"url\":\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items\",\"name\":\"Add Products to Group\",\"description\":\"Add one or more products to a group within a product collection.\",\"dateModified\":\"2026-05-21T14:06:23.000Z\",\"isPartOf\":{\"@id\":\"https://docs.dodopayments.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Product Collections\",\"item\":\"https://docs.dodopayments.com/api-reference/product-collections/list-product-collections\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add Products to Group\",\"item\":\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items#apireference\",\"headline\":\"Add Products to Group\",\"name\":\"Add Products to Group\",\"description\":\"Add one or more products to a group within a product collection.\",\"url\":\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items\",\"mainEntityOfPage\":{\"@id\":\"https://docs.dodopayments.com/api-reference/product-collections/add-group-items#webpage\"},\"dateModified\":\"2026-05-21T14:06:23.000Z\",\"keywords\":\"Dodo Payments, API reference, REST API, add products to group\",\"publisher\":{\"@id\":\"https://docs.dodopayments.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.dodopayments.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dodo Payments Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Dodo Payments Documentation","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Docs","icon":"book","pages":[{"title":"Docs","href":"/introduction"}]},{"tab":"Guides","icon":"compass","pages":[{"title":"Guides","href":"/developer-resources/integration-guide"}]},{"tab":"API Reference","icon":"rectangle-code","groups":[{"group":"API Reference","pages":[{"title":"API Reference","sidebarTitle":"Introduction","icon":"book-open","href":"/api-reference/introduction"},{"title":"Error Codes","icon":"triangle-exclamation","href":"/api-reference/error-codes"},{"title":"Transaction Failures","icon":"circle-exclamation","href":"/api-reference/transaction-failures"},{"title":"Metadata Guide","icon":"tags","href":"/api-reference/metadata"}]},{"group":"Checkout Sessions","pages":[{"openapi":"post /checkouts","title":"Create Checkout Session","href":"/api-reference/checkout-sessions/create"},{"openapi":"post /checkouts/preview","title":"Preview Checkout Session","href":"/api-reference/checkout-sessions/preview"},{"openapi":"get /checkouts/{id}","title":"Get Checkout Session","href":"/api-reference/checkout-sessions/get-checkouts"}]},{"group":"Payments","pages":[{"openapi":"get /payments","title":"List Payments","href":"/api-reference/payments/get-payments"},{"openapi":"get /payments/{payment_id}","title":"Get Payment Detail","href":"/api-reference/payments/get-payments-1"},{"title":"Get Invoice","openapi":"get /invoices/payments/{payment_id}","href":"/api-reference/payments/get-invoice"},{"openapi":"get /payments/{payment_id}/line-items","title":"Retrieve Line Items","href":"/api-reference/payments/retrieve-line-items"},{"openapi":"get /payments/{payment_id}/retry","title":"Get Manual Retry State","href":"/api-reference/payments/retrieve-retry-state"},{"openapi":"post /payments/{payment_id}/retry","title":"Retry Payment","href":"/api-reference/payments/retry-payment"},{"openapi":"post /payments","title":"Create One-Time Payment","tag":"DEPRECATED","href":"/api-reference/payments/post-payments"}]},{"group":"Subscriptions","pages":[{"openapi":"get /subscriptions","title":"List Subscriptions","href":"/api-reference/subscriptions/get-subscriptions-1"},{"openapi":"get /subscriptions/{subscription_id}","title":"Get Subscription Detail","href":"/api-reference/subscriptions/get-subscriptions"},{"openapi":"post /subscriptions/{subscription_id}/change-plan","title":"Change Plan","href":"/api-reference/subscriptions/change-plan"},{"openapi":"post /subscriptions/{subscription_id}/change-plan/preview","title":"Preview Plan Change","href":"/api-reference/subscriptions/preview-change-plan"},{"openapi":"delete /subscriptions/{subscription_id}/change-plan/scheduled","title":"Cancel Scheduled Plan Change","href":"/api-reference/subscriptions/cancel-change-plan"},{"openapi":"patch /subscriptions/{subscription_id}","title":"Update Subscription","href":"/api-reference/subscriptions/patch-subscriptions"},{"openapi":"post /subscriptions/{subscription_id}/charge","title":"Create Charge (On-Demand)","href":"/api-reference/subscriptions/create-charge"},{"openapi":"get /subscriptions/{subscription_id}/usage-history","title":"Get Subscription Usage History","href":"/api-reference/subscriptions/get-usage-history"},{"openapi":"get /subscriptions/{subscription_id}/credit-usage","title":"Retrieve Credit Usage","href":"/api-reference/subscriptions/retrieve-credit-usage"},{"openapi":"post /subscriptions/{subscription_id}/update-payment-method","title":"Update Payment Method","href":"/api-reference/subscriptions/update-payment-method"},{"openapi":"post /subscriptions","title":"Create Subscription","tag":"DEPRECATED","href":"/api-reference/subscriptions/post-subscriptions"}]},{"group":"Discounts","pages":[{"openapi":"get /discounts","title":"List Discounts","href":"/api-reference/discounts/list-discounts"},{"openapi":"post /discounts","title":"Create Discount","href":"/api-reference/discounts/create-discount"},{"openapi":"get /discounts/{discount_id}","title":"Get Discount","href":"/api-reference/discounts/validate-discount"},{"openapi":"get /discounts/code/{code}","title":"Get Discount by Code","href":"/api-reference/discounts/get-discount-by-code"},{"openapi":"patch /discounts/{discount_id}","title":"Update Discount","href":"/api-reference/discounts/update-discount"},{"openapi":"delete /discounts/{discount_id}","title":"Delete Discount","href":"/api-reference/discounts/delete-discount"},{"openapi":"get /discounts/{discount_id}/customers","title":"List Discount Customers","href":"/api-reference/discounts/list-discount-customers"},{"openapi":"post /discounts/{discount_id}/customers","title":"Add Discount Customers","href":"/api-reference/discounts/add-discount-customers"},{"openapi":"delete /discounts/{discount_id}/customers/{customer_id}","title":"Remove Discount Customer","href":"/api-reference/discounts/remove-discount-customer"}]},{"group":"Licenses","pages":[{"title":"Create License Key","openapi":"post /license_keys","href":"/api-reference/licenses/create-license-key"},{"title":"Activate License","openapi":"post /licenses/activate","href":"/api-reference/licenses/activate-license"},{"title":"Deactivate License","openapi":"post /licenses/deactivate","href":"/api-reference/licenses/deactivate-license"},{"title":"Validate License","openapi":"post /licenses/validate","href":"/api-reference/licenses/validate-license"},{"title":"List License Keys","openapi":"get /license_keys","tag":"DEPRECATED","href":"/api-reference/licenses/list-license-keys"},{"title":"Get License Key","openapi":"get /license_keys/{id}","tag":"DEPRECATED","href":"/api-reference/licenses/get-license-key"},{"title":"Update License Key","openapi":"patch /license_keys/{id}","tag":"DEPRECATED","href":"/api-reference/licenses/update-license-key"},{"title":"List License Key Instances","openapi":"get /license_key_instances","href":"/api-reference/licenses/get-license-key-instances"},{"title":"Get License Key Instance","openapi":"get /license_key_instances/{id}","href":"/api-reference/licenses/get-license-key-instance"},{"title":"Update License Key Instance","openapi":"patch /license_key_instances/{id}","href":"/api-reference/licenses/update-license-key-instance"}]},{"group":"Entitlements","pages":[{"title":"List Entitlements","openapi":"get /entitlements","href":"/api-reference/entitlements/list-entitlements"},{"title":"Create Entitlement","openapi":"post /entitlements","href":"/api-reference/entitlements/create-entitlement"},{"title":"Get Entitlement","openapi":"get /entitlements/{id}","href":"/api-reference/entitlements/get-entitlement"},{"title":"Update Entitlement","openapi":"patch /entitlements/{id}","href":"/api-reference/entitlements/update-entitlement"},{"title":"Delete Entitlement","openapi":"delete /entitlements/{id}","href":"/api-reference/entitlements/delete-entitlement"},{"title":"Upload File","openapi":"post /entitlements/{id}/files","href":"/api-reference/entitlements/upload-file"},{"title":"Delete File","openapi":"delete /entitlements/{id}/files/{file_id}","href":"/api-reference/entitlements/delete-file"},{"title":"List Grants","openapi":"get /entitlements/{id}/grants","href":"/api-reference/entitlements/list-grants"},{"title":"List Customer Grants","openapi":"get /customers/{customer_id}/entitlement-grants","href":"/api-reference/entitlements/list-customer-grants"},{"title":"Fulfill License Key Grant","openapi":"post /grants/{grant_id}/license-key","href":"/api-reference/entitlements/fulfill-license-key"},{"title":"Revoke Grant","openapi":"delete /entitlements/{id}/grants/{grant_id}","href":"/api-reference/entitlements/revoke-grant"}]},{"group":"Customers","pages":[{"openapi":"post /customers","title":"Create Customer","href":"/api-reference/customers/create-customer"},{"openapi":"get /customers","title":"List Customers","href":"/api-reference/customers/get-customers"},{"openapi":"get /customers/{customer_id}","title":"Get Customer Detail","href":"/api-reference/customers/get-customers-1"},{"openapi":"patch /customers/{customer_id}","title":"Update Customer","href":"/api-reference/customers/patch-customer"},{"openapi":"post /customers/{customer_id}/customer-portal/session","title":"Create Customer Portal Session","href":"/api-reference/customers/create-customer-portal-session"},{"openapi":"get /customers/{customer_id}/payment-methods","title":"List Payment Methods","href":"/api-reference/customers/get-customer-payment-methods"},{"openapi":"delete /customers/{customer_id}/payment-methods/{payment_method_id}","title":"Delete Payment Method","href":"/api-reference/customers/delete-payment-method"},{"openapi":"get /customers/{customer_id}/entitlements","title":"List Customer Entitlements","href":"/api-reference/customers/list-customer-entitlements"},{"openapi":"get /customers/{customer_id}/credit-entitlements","title":"List Customer Credit Entitlements","href":"/api-reference/customers/list-customer-credit-entitlements"},{"openapi":"get /customers/{customer_id}/emails","title":"List Customer Emails","href":"/api-reference/customers/list-customer-emails"},{"openapi":"get /customers/{customer_id}/emails/{email_log_id}/body","title":"Get Customer Email Content","href":"/api-reference/customers/get-customer-email-body"}]},{"group":"Customer Wallets","pages":[{"openapi":"get /customers/{customer_id}/wallets","title":"List Customer Wallets","href":"/api-reference/customers/get-customer-wallets"},{"openapi":"get /customers/{customer_id}/wallets/ledger-entries","title":"List Customer Wallet Ledger Entries","href":"/api-reference/customers/get-customer-wallets-ledger-entries"},{"openapi":"post /customers/{customer_id}/wallets/ledger-entries","title":"Create Customer Wallet Ledger Entry","href":"/api-reference/customers/post-customer-wallets-ledger-entries"}]},{"group":"Customer Blocklist","pages":[{"openapi":"get /blocklist/customers","title":"List Blocked Customers","href":"/api-reference/blocklist/list-blocked-customers"},{"openapi":"post /blocklist/customers","title":"Block Customer","href":"/api-reference/blocklist/block-customer"},{"openapi":"get /blocklist/customers/{entry_id}","title":"Get Blocked Customer","href":"/api-reference/blocklist/get-blocked-customer"},{"openapi":"delete /blocklist/customers/{entry_id}","title":"Unblock Customer","href":"/api-reference/blocklist/unblock-customer"},{"openapi":"post /blocklist/customers/{entry_id}/notes","title":"Add Blocklist Note","href":"/api-reference/blocklist/add-blocklist-note"},{"openapi":"patch /blocklist/customers/{entry_id}/notes/{note_id}","title":"Update Blocklist Note","href":"/api-reference/blocklist/update-blocklist-note"}]},{"group":"Products","pages":[{"openapi":"get /products","title":"List Products","href":"/api-reference/products/get-products"},{"openapi":"post /products","title":"Create Product","href":"/api-reference/products/post-products"},{"openapi":"get /products/{id}","title":"Get Product Detail","href":"/api-reference/products/get-products-1"},{"openapi":"patch /products/{id}","title":"Update Product","href":"/api-reference/products/patch-products"},{"openapi":"put /products/{id}/images","title":"Update Product Image","href":"/api-reference/products/put-products-images"},{"openapi":"delete /products/{id}","title":"Archive Product","href":"/api-reference/products/archive-product"},{"openapi":"post /products/{id}/unarchive","title":"Unarchive Product","href":"/api-reference/products/unarchive-product"},{"openapi":"put /products/{id}/files","title":"Upload Product File","href":"/api-reference/products/update-files"},{"openapi":"get /products/short_links","title":"List Short Links","href":"/api-reference/products/get-products-short-links"},{"openapi":"post /products/{id}/short_links","title":"Create Short Link","href":"/api-reference/products/post-products-id-short-links"}]},{"group":"Localized Pricing","pages":[{"openapi":"get /products/{product_id}/localized-prices","title":"List Localized Prices","href":"/api-reference/products/get-products-localized-prices"},{"openapi":"post /products/{product_id}/localized-prices","title":"Create Localized Price","href":"/api-reference/products/post-products-localized-prices"},{"openapi":"get /products/{product_id}/localized-prices/{id}","title":"Get Localized Price","href":"/api-reference/products/get-products-localized-prices-id"},{"openapi":"patch /products/{product_id}/localized-prices/{id}","title":"Update Localized Price","href":"/api-reference/products/patch-products-localized-prices"},{"openapi":"delete /products/{product_id}/localized-prices/{id}","title":"Archive Localized Price","href":"/api-reference/products/delete-products-localized-prices"}]},{"group":"Addons","pages":[{"openapi":"post /addons","title":"Create Addon","href":"/api-reference/addons/create-addon"},{"openapi":"get /addons","title":"List Addons","href":"/api-reference/addons/list-addons"},{"openapi":"get /addons/{id}","title":"Get Addon","href":"/api-reference/addons/get-addon"},{"openapi":"patch /addons/{id}","title":"Update Addon","href":"/api-reference/addons/update-addon"},{"openapi":"put /addons/{id}/images","title":"Update Addon Image","href":"/api-reference/addons/update-addon-images"},{"openapi":"delete /addons/{id}","title":"Archive Addon","href":"/api-reference/addons/archive-addon"},{"openapi":"post /addons/{id}/unarchive","title":"Unarchive Addon","href":"/api-reference/addons/unarchive-addon"}]},{"group":"Credit Entitlements","pages":[{"openapi":"get /credit-entitlements","title":"List Credit Entitlements","href":"/api-reference/credit-entitlements/list-credit-entitlements"},{"openapi":"post /credit-entitlements","title":"Create Credit Entitlement","href":"/api-reference/credit-entitlements/create-credit-entitlement"},{"openapi":"get /credit-entitlements/{id}","title":"Get Credit Entitlement","href":"/api-reference/credit-entitlements/get-credit-entitlement"},{"openapi":"patch /credit-entitlements/{id}","title":"Update Credit Entitlement","href":"/api-reference/credit-entitlements/update-credit-entitlement"},{"openapi":"delete /credit-entitlements/{id}","title":"Delete Credit Entitlement","href":"/api-reference/credit-entitlements/delete-credit-entitlement"},{"openapi":"post /credit-entitlements/{id}/undelete","title":"Undelete Credit Entitlement","href":"/api-reference/credit-entitlements/undelete-credit-entitlement"},{"openapi":"get /credit-entitlements/{credit_entitlement_id}/balances","title":"List Balances","href":"/api-reference/credit-entitlements/list-balances"},{"openapi":"get /credit-entitlements/{credit_entitlement_id}/balances/{customer_id}","title":"Get Customer Balance","href":"/api-reference/credit-entitlements/get-customer-balance"},{"openapi":"get /credit-entitlements/{credit_entitlement_id}/balances/{customer_id}/grants","title":"List Customer Grants","href":"/api-reference/credit-entitlements/list-customer-grants"},{"openapi":"get /credit-entitlements/{credit_entitlement_id}/balances/{customer_id}/ledger","title":"List Customer Ledger","href":"/api-reference/credit-entitlements/list-customer-ledger"},{"openapi":"post /credit-entitlements/{credit_entitlement_id}/balances/{customer_id}/ledger-entries","title":"Create Ledger Entry","href":"/api-reference/credit-entitlements/create-ledger-entry"}]},{"group":"Meters","pages":[{"openapi":"post /meters","title":"Create Meter","href":"/api-reference/meters/create-meter"},{"openapi":"get /meters","title":"List Meters","href":"/api-reference/meters/get-meters"},{"openapi":"get /meters/{id}","title":"Get Meter","href":"/api-reference/meters/retrieve-meter"},{"openapi":"patch /meters/{id}","title":"Update Meter","href":"/api-reference/meters/update-meter"},{"openapi":"delete /meters/{id}","title":"Archive Meter","href":"/api-reference/meters/archive-meter"},{"openapi":"post /meters/{id}/unarchive","title":"Unarchive Meter","href":"/api-reference/meters/unarchive-meter"}]},{"group":"Usage Events","pages":[{"openapi":"post /events/ingest","title":"Ingest Events","href":"/api-reference/usage-events/ingest-events"},{"openapi":"get /events/{event_id}","title":"Get Event","href":"/api-reference/usage-events/get-event"},{"openapi":"get /events","title":"List Events","href":"/api-reference/usage-events/list-events"}]},{"group":"Refunds","pages":[{"openapi":"get /refunds","title":"List Refunds","href":"/api-reference/refunds/get-refunds"},{"openapi":"post /refunds","title":"Create Refund","href":"/api-reference/refunds/post-refunds"},{"openapi":"get /refunds/{refund_id}","title":"Get Refund Detail","href":"/api-reference/refunds/get-refunds-1"},{"openapi":"get /invoices/refunds/{refund_id}","title":"Get Refund Receipt","href":"/api-reference/refunds/get-refund-receipt"}]},{"group":"Disputes","pages":[{"openapi":"get /disputes","title":"List Disputes","href":"/api-reference/disputes/get-disputes"},{"openapi":"get /disputes/{dispute_id}","title":"Get Dispute Detail","href":"/api-reference/disputes/get-disputes-1"}]},{"group":"Payouts","pages":[{"openapi":"get /payouts","title":"List Payouts","href":"/api-reference/payouts/get-payouts"},{"openapi":"get /payouts/{payout_id}/breakup","title":"Retrieve Payout Breakup","href":"/api-reference/payouts/retrieve-breakup"},{"openapi":"get /payouts/{payout_id}/breakup/details","title":"List Payout Breakup Details","href":"/api-reference/payouts/list-breakup-details"},{"openapi":"get /payouts/{payout_id}/breakup/details/csv","title":"Download Payout Breakup CSV","href":"/api-reference/payouts/download-breakup-csv"},{"openapi":"get /invoices/payouts/{payout_id}","title":"Get Payout Invoice","href":"/api-reference/payouts/get-payout-invoice"}]},{"group":"Balance Ledger","pages":[{"openapi":"get /balances/ledger","title":"List Balance Ledger Entries","href":"/api-reference/balance-ledger/list-ledger-entries"}]},{"group":"Moderation","tag":"NEW","pages":[{"openapi":"post /moderation/screen","title":"Screen a Prompt","href":"/api-reference/moderation/screen"},{"openapi":"get /moderation/usage","title":"Get Moderation Usage","href":"/api-reference/moderation/get-usage"}]},{"group":"Brands","pages":[{"openapi":"get /brands","title":"List Brands","href":"/api-reference/brands/list-brands"},{"openapi":"post /brands","title":"Create Brand","href":"/api-reference/brands/create-brand"},{"openapi":"get /brands/{id}","title":"Get Brand","href":"/api-reference/brands/get-brand"},{"openapi":"patch /brands/{id}","title":"Update Brand","href":"/api-reference/brands/update-brand"},{"openapi":"put /brands/{id}/images","title":"Update Brand Image","href":"/api-reference/brands/update-brand-images"},{"openapi":"post /brands/{id}/archive","title":"Archive Brand","href":"/api-reference/brands/archive-brand"}]},{"group":"Webhooks","pages":[{"openapi":"get /webhooks","title":"List Webhooks","href":"/api-reference/webhooks/list-webhooks"},{"openapi":"post /webhooks","title":"Create Webhook","href":"/api-reference/webhooks/create-webhook"},{"openapi":"get /webhooks/{webhook_id}","title":"Get Webhook Detail","href":"/api-reference/webhooks/get-details"},{"openapi":"patch /webhooks/{webhook_id}","title":"Update Webhook","href":"/api-reference/webhooks/update-webhook"},{"openapi":"delete /webhooks/{webhook_id}","title":"Delete Webhook","href":"/api-reference/webhooks/delete-webhook"},{"openapi":"get /webhooks/{webhook_id}/headers","title":"Get Webhook Headers","href":"/api-reference/webhooks/get-webhook-headers"},{"openapi":"patch /webhooks/{webhook_id}/headers","title":"Update Webhook Headers","href":"/api-reference/webhooks/update-webhook-headers"},{"openapi":"get /webhooks/{webhook_id}/secret","title":"Get Webhook Signing Key","href":"/api-reference/webhooks/get-webhook-signing-key"}]},{"group":"Miscellaneous","pages":[{"title":"Supported Countries","openapi":"get /checkout/supported_countries","href":"/api-reference/misc/supported-countries"}]},{"group":"Product Collections","pages":[{"openapi":"get /product-collections","title":"List Product Collections","href":"/api-reference/product-collections/list-product-collections"},{"openapi":"post /product-collections","title":"Create Product Collection","href":"/api-reference/product-collections/create-product-collection"},{"openapi":"get /product-collections/{id}","title":"Get Product Collection","href":"/api-reference/product-collections/get-product-collection"},{"openapi":"patch /product-collections/{id}","title":"Update Product Collection","href":"/api-reference/product-collections/update-product-collection"},{"openapi":"delete /product-collections/{id}","title":"Archive Product Collection","href":"/api-reference/product-collections/archive-product-collection"},{"openapi":"post /product-collections/{id}/unarchive","title":"Unarchive Product Collection","href":"/api-reference/product-collections/unarchive-product-collection"},{"openapi":"put /product-collections/{id}/images","title":"Update Product Collection Image","href":"/api-reference/product-collections/update-product-collection-images"},{"openapi":"post /product-collections/{id}/groups","title":"Create Product Collection Group","href":"/api-reference/product-collections/create-group"},{"openapi":"patch /product-collections/{id}/groups/{group_id}","title":"Update Product Collection Group","href":"/api-reference/product-collections/update-group"},{"openapi":"delete /product-collections/{id}/groups/{group_id}","title":"Delete Product Collection Group","description":"Delete a group from a product collection.","href":"/api-reference/product-collections/delete-group"},{"openapi":"post /product-collections/{id}/groups/{group_id}/items","title":"Add Products to Group","href":"/api-reference/product-collections/add-group-items"},{"openapi":"patch /product-collections/{id}/groups/{group_id}/items/{item_id}","title":"Update Group Item","description":"Update a product item within a product collection group.","href":"/api-reference/product-collections/update-group-item"},{"openapi":"delete /product-collections/{id}/groups/{group_id}/items/{item_id}","title":"Delete Group Item","href":"/api-reference/product-collections/delete-group-item"}]}]},{"tab":"External Integrations","icon":"plug","pages":[{"title":"External Integrations","href":"/integrations/introduction"}]},{"tab":"Changelog","icon":"calendar-days","pages":[{"title":"Changelog","href":"/changelog/introduction"}]},{"tab":"Community Projects","icon":"users","pages":[{"title":"Community Projects","href":"/community/overview"}]}]},{"language":"es","pages":[{"title":"es","href":"/es/api-reference/product-collections/add-group-items"}]},{"language":"ar","pages":[{"title":"ar","href":"/ar/api-reference/product-collections/add-group-items"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/api-reference/product-collections/add-group-items"}]},{"language":"de","pages":[{"title":"de","href":"/de/api-reference/product-collections/add-group-items"}]},{"language":"id","pages":[{"title":"id","href":"/id/api-reference/product-collections/add-group-items"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/api-reference/product-collections/add-group-items"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/api-reference/product-collections/add-group-items"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/pt-BR/api-reference/product-collections/add-group-items"}]},{"language":"vi","pages":[{"title":"vi","href":"/vi/api-reference/product-collections/add-group-items"}]},{"language":"cn","pages":[{"title":"cn","href":"/cn/api-reference/product-collections/add-group-items"}]},{"language":"hi","pages":[{"title":"hi","href":"/hi/api-reference/product-collections/add-group-items"}]},{"language":"it","pages":[{"title":"it","href":"/it/api-reference/product-collections/add-group-items"}]},{"language":"sv","pages":[{"title":"sv","href":"/sv/api-reference/product-collections/add-group-items"}]}]},"title":"Add Products to Group - Dodo Payments Documentation","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-CT9uE8Ip.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}