Remove Store Group Market from Bundle Group

Removes the association between a specific market within a store group and the product bundle group. A bundle group must have at least one market. Triggers a sync event if the bundle group is compliant.

DELETE/api/v1/{team_slug}/{app_slug}/bundle-groups/{bundle_group_id}/store-groups/{store_group}/markets/{market_slug}
API
Management
Updated
Apr 26, 2026

management-api:DELETE:/api/v1/{team_slug}/{app_slug}/bundle-groups/{bundle_group_id}/store-groups/{store_group}/markets/{market_slug}

Removes the association between a specific market within a store group and the product bundle group. A bundle group must have at least one market. Triggers a sync event if the bundle group is compliant.

API ownership

  • API family: Management API
  • Best for: Trusted back-office workflows that create, update, organize, or delete merchant-owned data.
  • Do not use from: Browser-only storefront code or public clients.
  • Guide route: /apis/management/latest

The OpenAPI contract defines the method, path, parameters, request body, and responses for this operation.

Operation

  • Method: DELETE
  • Path: /api/v1/\{team_slug\}/\{app_slug\}/bundle-groups/\{bundle_group_id\}/store-groups/\{store_group\}/markets/\{market_slug\}
  • Summary: Remove Store Group Market from Bundle Group
  • Description: Removes the association between a specific market within a store group and the product bundle group. A bundle group must have at least one market. Triggers a sync event if the bundle group is compliant.
  • OpenAPI contract: management-api
  • Operation ID: Not documented in the OpenAPI contract.

Operation key uses API family, method, and path because this OpenAPI contract does not publish an operation ID.

Parameters5 parameters
NameInRequiredTypeDescription
app_slugpathYesstringApp slug
team_slugpathYesstringTeam slug
product_bundle_group_idpathYesstringProduct bundle group ID
market_slugpathYesstringMarket slug
store_grouppathYesstringStore group slug
Request bodyNo documented body

Not documented in the OpenAPI contract.

Responses4 statuses
StatusDescriptionContent
200Updated product bundle groupapplication/json (object)
400Invalid request (e.g. bad UUID, validation error)application/json (object)
401Unauthorized accessapplication/json (object)
500Internal server errorapplication/json (object)

200 - object

Product Bundle Group Response

PropertyTypeRequiredDetails
dataobjectNo-
detailsstring[]NoAdditional contextual information about the response. Used to provide supplementary details beyond the main data payload, such as validation warnings or processing notes
successbooleanNo-
Bundle Group
PropertyTypeRequiredDetails
bundlesobject[]NoBundles associated with the group
complianceobjectNoCompliance level for the bundle group, "none" means that there is no valid/complete configuration, "partial" means that some of the rules are valid, "full" means that all rules are valid
created_atstringNoCreation timestamp
descriptionstringNo-
end_datestringNoEnd date of the bundle group
idstringNoID
marketsobject[]NoMarkets associated with the bundle group
namestringNoName of the bundle group
start_datestringNoStart date of the bundle group
translationsobjectNoBundle group translations
updated_atstringNoLast updated timestamp
Bundle
PropertyTypeRequiredDetails
attributesobject[]No-
compliantobjectNoCompliance level for the bundle
created_atstringNoCreation timestamp
discount_percentageintegerNoDiscount percentage [1-100]
discount_typestringNoDiscount type [fixed, relative]
discountsobjectNoDiscount for bundle. Amount is stored in cents
idstringNoID
rulesobject[]NoBundle rules
statusstringNoStatus of the bundle
updated_atstringNoLast updated timestamp
Compliance
PropertyTypeRequiredDetails
infostring[]NoExplanation of any issues with the bundle, it will be empty if the bundle is fully compliant
levelstringNoCompliance level for the bundle, "full" if all rules are valid, "partial" if some rules are valid but it can still be used as a bundle, "none" if no rules are valid
Bundle Group Market
PropertyTypeRequiredDetails
activebooleanNo-
country_codesstring[]No-
created_atstringNo-
currency_codestringNo-
idstringNo-
localestringNo-
namestringNo-
slugstringNo-
store_group_idstringNoStore group ID
store_group_slugstringNoStore group slug
updated_atstringNo-
Bundle Group Translation
PropertyTypeRequiredDetails
descriptionobject[]No-
nameobject[]No-
{
  "data": {
    "bundles": [
      {
        "attributes": [],
        "compliant": {
          "info": null,
          "level": null
        },
        "created_at": "string",
        "discount_percentage": 0,
        "discount_type": "string",
        "discounts": {},
        "id": "string",
        "rules": [],
        "status": "string",
        "updated_at": "string"
      }
    ],
    "compliance": {
      "info": [
        "string"
      ],
      "level": "string"
    },
    "created_at": "string",
    "description": "string",
    "end_date": "string",
    "id": "string",
    "markets": [
      {
        "active": false,
        "country_codes": [],
        "created_at": "string",
        "currency_code": "string",
        "id": "string",
        "locale": "string",
        "name": "string",
        "slug": "string",
        "store_group_id": "string",
        "store_group_slug": "string",
        "updated_at": "string"
      }
    ],
    "name": "string",
    "start_date": "string",
    "translations": {
      "description": [
        {
          "id": null,
          "locale": null,
          "value": null
        }
      ],
      "name": [
        {
          "id": null,
          "locale": null,
          "value": null
        }
      ]
    },
    "updated_at": "string"
  },
  "details": [
    "string"
  ],
  "success": false
}

400 - object

Error Message

PropertyTypeRequiredDetails
detailsstring[]No-
messagestringNo-
successbooleanNo-

Generated example (synthetic):

{
  "details": [
    "string"
  ],
  "message": "string",
  "success": false
}

401 - object

Error Message

PropertyTypeRequiredDetails
detailsstring[]No-
messagestringNo-
successbooleanNo-

Generated example (synthetic):

{
  "details": [
    "string"
  ],
  "message": "string",
  "success": false
}

500 - object

Error Message

PropertyTypeRequiredDetails
detailsstring[]No-
messagestringNo-
successbooleanNo-

Generated example (synthetic):

{
  "details": [
    "string"
  ],
  "message": "string",
  "success": false
}

Contract identity

Use these fields to confirm you are implementing the intended endpoint contract.

  • API family: Management API
  • Method: DELETE
  • Path: /api/v1/\{team_slug\}/\{app_slug\}/bundle-groups/\{bundle_group_id\}/store-groups/\{store_group\}/markets/\{market_slug\}
  • Operation ID: Not documented in the OpenAPI contract.
  • OpenAPI tag: Product Bundle Groups
  • OpenAPI summary: Remove Store Group Market from Bundle Group

Remove Store Group Market from Bundle Group

# Remove Store Group Market from Bundle Group Removes the association between a specific market within a store group and the product bundle group. A bundle group must have at least one market. Triggers a sync event if the bundle group is compliant.
DELETE /api/v1/{team_slug}/{app_slug}/bundle-groups/{bundle_group_id}/store-groups/{store_group}/markets/{market_slug}
Purpose

Removes the association between a specific market within a store group and the product bundle group.

Required inputs

app_slug path team_slug path product_bundle_group_id path market_slug path store_group path

Primary response

200 ยท Updated product bundle group

Operation key

management-api:DELETE:/api/v1/{team_slug}/{app_slug}/bundle-groups/{bundle_group_id}/store-groups/{store_group}/markets/{market_slug}

## API ownership - API family: Management API - Best for: Trusted back-office workflows that create, update, organize, or delete merchant-owned data. - Do not use from: Browser-only storefront code or public clients. - Guide route: [/apis/management/latest](/apis/management/latest) The OpenAPI contract defines the method, path, parameters, request body, and responses for this operation. ## Operation - Method: `DELETE` - Path: `/api/v1/{team_slug}/{app_slug}/bundle-groups/{bundle_group_id}/store-groups/{store_group}/markets/{market_slug}` - Summary: Remove Store Group Market from Bundle Group - Description: Removes the association between a specific market within a store group and the product bundle group. A bundle group must have at least one market. Triggers a sync event if the bundle group is compliant. - OpenAPI contract: management-api - Operation ID: Not documented in the OpenAPI contract. - Stable operation key: `management-api:DELETE:/api/v1/{team_slug}/{app_slug}/bundle-groups/{bundle_group_id}/store-groups/{store_group}/markets/{market_slug}` Operation key uses API family, method, and path because this OpenAPI contract does not publish an operation ID. ## Parameters | Name | In | Required | Type | Description | | --- | --- | --- | --- | --- | | app_slug | path | Yes | string | App slug | | team_slug | path | Yes | string | Team slug | | product_bundle_group_id | path | Yes | string | Product bundle group ID | | market_slug | path | Yes | string | Market slug | | store_group | path | Yes | string | Store group slug | ## Request body Not documented in the OpenAPI contract. ## Responses | Status | Description | Content | | --- | --- | --- | | 200 | Updated product bundle group | application/json (object) | | 400 | Invalid request (e.g. bad UUID, validation error) | application/json (object) | | 401 | Unauthorized access | application/json (object) | | 500 | Internal server error | application/json (object) | ### 200 - object #### Product Bundle Group Response | Property | Type | Required | Details | | --- | --- | --- | --- | | `data` | object | No | - | | `details` | string[] | No | Additional contextual information about the response. Used to provide supplementary details beyond the main data payload, such as validation warnings or processing notes | | `success` | boolean | No | - | ##### Bundle Group | Property | Type | Required | Details | | --- | --- | --- | --- | | `bundles` | object[] | No | Bundles associated with the group | | `compliance` | object | No | Compliance level for the bundle group, "none" means that there is no valid/complete configuration, "partial" means that some of the rules are valid, "full" means that all rules are valid | | `created_at` | string | No | Creation timestamp | | `description` | string | No | - | | `end_date` | string | No | End date of the bundle group | | `id` | string | No | ID | | `markets` | object[] | No | Markets associated with the bundle group | | `name` | string | No | Name of the bundle group | | `start_date` | string | No | Start date of the bundle group | | `translations` | object | No | Bundle group translations | | `updated_at` | string | No | Last updated timestamp | ##### Bundle | Property | Type | Required | Details | | --- | --- | --- | --- | | `attributes` | object[] | No | - | | `compliant` | object | No | Compliance level for the bundle | | `created_at` | string | No | Creation timestamp | | `discount_percentage` | integer | No | Discount percentage [1-100] | | `discount_type` | string | No | Discount type [fixed, relative] | | `discounts` | object | No | Discount for bundle. Amount is stored in cents | | `id` | string | No | ID | | `rules` | object[] | No | Bundle rules | | `status` | string | No | Status of the bundle | | `updated_at` | string | No | Last updated timestamp | ##### Compliance | Property | Type | Required | Details | | --- | --- | --- | --- | | `info` | string[] | No | Explanation of any issues with the bundle, it will be empty if the bundle is fully compliant | | `level` | string | No | Compliance level for the bundle, "full" if all rules are valid, "partial" if some rules are valid but it can still be used as a bundle, "none" if no rules are valid | ##### Bundle Group Market | Property | Type | Required | Details | | --- | --- | --- | --- | | `active` | boolean | No | - | | `country_codes` | string[] | No | - | | `created_at` | string | No | - | | `currency_code` | string | No | - | | `id` | string | No | - | | `locale` | string | No | - | | `name` | string | No | - | | `slug` | string | No | - | | `store_group_id` | string | No | Store group ID | | `store_group_slug` | string | No | Store group slug | | `updated_at` | string | No | - | ##### Bundle Group Translation | Property | Type | Required | Details | | --- | --- | --- | --- | | `description` | object[] | No | - | | `name` | object[] | No | - |
Generated example (synthetic) ```json { "data": { "bundles": [ { "attributes": [], "compliant": { "info": null, "level": null }, "created_at": "string", "discount_percentage": 0, "discount_type": "string", "discounts": {}, "id": "string", "rules": [], "status": "string", "updated_at": "string" } ], "compliance": { "info": [ "string" ], "level": "string" }, "created_at": "string", "description": "string", "end_date": "string", "id": "string", "markets": [ { "active": false, "country_codes": [], "created_at": "string", "currency_code": "string", "id": "string", "locale": "string", "name": "string", "slug": "string", "store_group_id": "string", "store_group_slug": "string", "updated_at": "string" } ], "name": "string", "start_date": "string", "translations": { "description": [ { "id": null, "locale": null, "value": null } ], "name": [ { "id": null, "locale": null, "value": null } ] }, "updated_at": "string" }, "details": [ "string" ], "success": false } ```
### 400 - object #### Error Message | Property | Type | Required | Details | | --- | --- | --- | --- | | `details` | string[] | No | - | | `message` | string | No | - | | `success` | boolean | No | - | **Generated example (synthetic):** ```json { "details": [ "string" ], "message": "string", "success": false } ``` ### 401 - object #### Error Message | Property | Type | Required | Details | | --- | --- | --- | --- | | `details` | string[] | No | - | | `message` | string | No | - | | `success` | boolean | No | - | **Generated example (synthetic):** ```json { "details": [ "string" ], "message": "string", "success": false } ``` ### 500 - object #### Error Message | Property | Type | Required | Details | | --- | --- | --- | --- | | `details` | string[] | No | - | | `message` | string | No | - | | `success` | boolean | No | - | **Generated example (synthetic):** ```json { "details": [ "string" ], "message": "string", "success": false } ``` ## Contract identity Use these fields to confirm you are implementing the intended endpoint contract. - API family: Management API - Method: `DELETE` - Path: `/api/v1/{team_slug}/{app_slug}/bundle-groups/{bundle_group_id}/store-groups/{store_group}/markets/{market_slug}` - Operation ID: Not documented in the OpenAPI contract. - Stable operation key: `management-api:DELETE:/api/v1/{team_slug}/{app_slug}/bundle-groups/{bundle_group_id}/store-groups/{store_group}/markets/{market_slug}` - OpenAPI tag: Product Bundle Groups - OpenAPI summary: Remove Store Group Market from Bundle Group