Bulk Add Image Relationships
Creates relationships between an image and up to 100 items (products or variants) with optional priority ordering. Validates that each item exists and is not deleted before creating the relationship. Returns lists of successful and failed relationship creations with error details.
/api/v1/{team_slug}/{app_slug}/images/{image_id}/relationships/bulk- API
- Management
- OpenAPI
- management-api
- Updated
- Apr 26, 2026
management-api:PUT:/api/v1/{team_slug}/{app_slug}/images/{image_id}/relationships/bulk
Creates relationships between an image and up to 100 items (products or variants) with optional priority ordering. Validates that each item exists and is not deleted before creating the relationship. Returns lists of successful and failed relationship creations with error details.
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:
PUT - Path:
/api/v1/\{team_slug\}/\{app_slug\}/images/\{image_id\}/relationships/bulk - Summary: Bulk Add Image Relationships
- Description: Creates relationships between an image and up to 100 items (products or variants) with optional priority ordering. Validates that each item exists and is not deleted before creating the relationship. Returns lists of successful and failed relationship creations with error details.
- 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.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| team_slug | path | Yes | string | Team slug |
| app_slug | path | Yes | string | App slug |
| image_id | path | Yes | string | Image ID |
Request body
- Required: Yes
- Description: Items to link to the image
- Content: application/json (object)
Bulk Add Image Relationships Payload
| Property | Type | Required | Details |
|---|---|---|---|
items | object[] | Yes | maxItems: 100 |
Bulk Add Image Relationship Item
| Property | Type | Required | Details |
|---|---|---|---|
item_id | string | Yes | - |
item_type | enum("product", "variant") | Yes | - |
priority | integer | No | min: 1 |
Generated example (synthetic):
{
"items": [
{
"item_id": "string",
"item_type": "product",
"priority": 1
}
]
}Responses
| Status | Description | Content |
|---|---|---|
| 200 | Relationships added successfully | application/json (object) |
| 400 | Invalid request | application/json (object) |
| 401 | Unauthorized access | application/json (object) |
| 404 | Image not found | application/json (object) |
| 500 | Internal server error | application/json (object) |
200 - object
Bulk Add Image Relationships 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 | - |
Bulk Add Image Relationships
| Property | Type | Required | Details |
|---|---|---|---|
failed | object[] | No | - |
successful | object[] | No | - |
Bulk Add Image Relationship Failed Op
| Property | Type | Required | Details |
|---|---|---|---|
item_id | string | No | - |
item_type | string | No | - |
reason | string | No | - |
Bulk Add Image Relationship Item
| Property | Type | Required | Details |
|---|---|---|---|
item_id | string | Yes | - |
item_type | enum("product", "variant") | Yes | - |
priority | integer | No | min: 1 |
Generated example (synthetic):
{
"data": {
"failed": [
{
"item_id": "string",
"item_type": "string",
"reason": "string"
}
],
"successful": [
{
"item_id": "string",
"item_type": "product",
"priority": 1
}
]
},
"details": [
"string"
],
"success": false
}400 - object
Error Message
| Property | Type | Required | Details |
|---|---|---|---|
details | string[] | No | - |
message | string | No | - |
success | boolean | No | - |
Generated example (synthetic):
{
"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):
{
"details": [
"string"
],
"message": "string",
"success": false
}404 - object
Error Message
| Property | Type | Required | Details |
|---|---|---|---|
details | string[] | No | - |
message | string | No | - |
success | boolean | No | - |
Generated example (synthetic):
{
"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):
{
"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:
PUT - Path:
/api/v1/\{team_slug\}/\{app_slug\}/images/\{image_id\}/relationships/bulk - Operation ID: Not documented in the OpenAPI contract.
- OpenAPI tag: Images, Bulk
- OpenAPI summary: Bulk Add Image Relationships