curl --request PATCH \
--url https://wisepim.com/api/public/v1/export-templates/{resource_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"code": "<string>",
"description": "<string>",
"target_platform": "<string>",
"include_product_fields": [
"<string>"
],
"column_mappings": {},
"export_locale": "<string>",
"additional_locales": [
"<string>"
],
"attribute_layout": "<string>",
"max_attribute_slots": 123,
"feature_field_mapping": {},
"promoted_attribute_columns": [
{}
],
"category_columns": [
{}
],
"is_default": true,
"is_active": true,
"families": [
123
]
}
'import requests
url = "https://wisepim.com/api/public/v1/export-templates/{resource_id}"
payload = {
"name": "<string>",
"code": "<string>",
"description": "<string>",
"target_platform": "<string>",
"include_product_fields": ["<string>"],
"column_mappings": {},
"export_locale": "<string>",
"additional_locales": ["<string>"],
"attribute_layout": "<string>",
"max_attribute_slots": 123,
"feature_field_mapping": {},
"promoted_attribute_columns": [{}],
"category_columns": [{}],
"is_default": True,
"is_active": True,
"families": [123]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
code: '<string>',
description: '<string>',
target_platform: '<string>',
include_product_fields: ['<string>'],
column_mappings: {},
export_locale: '<string>',
additional_locales: ['<string>'],
attribute_layout: '<string>',
max_attribute_slots: 123,
feature_field_mapping: {},
promoted_attribute_columns: [{}],
category_columns: [{}],
is_default: true,
is_active: true,
families: [123]
})
};
fetch('https://wisepim.com/api/public/v1/export-templates/{resource_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"name": "<string>",
"code": "<string>",
"description": "<string>",
"target_platform": "<string>",
"include_product_fields": "<unknown>",
"column_mappings": "<unknown>",
"export_locale": "<string>",
"additional_locales": "<unknown>",
"attribute_layout": "<string>",
"max_attribute_slots": 123,
"feature_field_mapping": "<unknown>",
"promoted_attribute_columns": "<unknown>",
"category_columns": "<unknown>",
"is_default": true,
"is_active": true,
"families": [
123
],
"id": 123
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>",
"detail": [
{}
]
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}Update export-templates
PATCH /export-templates/. Required scopes: export-templates:write.
curl --request PATCH \
--url https://wisepim.com/api/public/v1/export-templates/{resource_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"code": "<string>",
"description": "<string>",
"target_platform": "<string>",
"include_product_fields": [
"<string>"
],
"column_mappings": {},
"export_locale": "<string>",
"additional_locales": [
"<string>"
],
"attribute_layout": "<string>",
"max_attribute_slots": 123,
"feature_field_mapping": {},
"promoted_attribute_columns": [
{}
],
"category_columns": [
{}
],
"is_default": true,
"is_active": true,
"families": [
123
]
}
'import requests
url = "https://wisepim.com/api/public/v1/export-templates/{resource_id}"
payload = {
"name": "<string>",
"code": "<string>",
"description": "<string>",
"target_platform": "<string>",
"include_product_fields": ["<string>"],
"column_mappings": {},
"export_locale": "<string>",
"additional_locales": ["<string>"],
"attribute_layout": "<string>",
"max_attribute_slots": 123,
"feature_field_mapping": {},
"promoted_attribute_columns": [{}],
"category_columns": [{}],
"is_default": True,
"is_active": True,
"families": [123]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
code: '<string>',
description: '<string>',
target_platform: '<string>',
include_product_fields: ['<string>'],
column_mappings: {},
export_locale: '<string>',
additional_locales: ['<string>'],
attribute_layout: '<string>',
max_attribute_slots: 123,
feature_field_mapping: {},
promoted_attribute_columns: [{}],
category_columns: [{}],
is_default: true,
is_active: true,
families: [123]
})
};
fetch('https://wisepim.com/api/public/v1/export-templates/{resource_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"name": "<string>",
"code": "<string>",
"description": "<string>",
"target_platform": "<string>",
"include_product_fields": "<unknown>",
"column_mappings": "<unknown>",
"export_locale": "<string>",
"additional_locales": "<unknown>",
"attribute_layout": "<string>",
"max_attribute_slots": 123,
"feature_field_mapping": "<unknown>",
"promoted_attribute_columns": "<unknown>",
"category_columns": "<unknown>",
"is_default": true,
"is_active": true,
"families": [
123
],
"id": 123
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>",
"detail": [
{}
]
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}{
"error": "<string>",
"request_id": "<string>",
"code": "<string>"
}Authorizations
Use a project API key from Settings > API Access. Send it as Authorization: Bearer wpk_.... See authentication and scopes for setup and permissions.
Headers
Reuse this key for retries of the same write. Scoped to this API key; retained until key deletion. Different requests with the same key return 409.
1 - 128^[!-~]+$Path Parameters
Body
Human-readable name for this template
255Unique identifier for this template within the project
100Optional description of the template's purpose
100000Target platform this template is designed for
50Ordered list of product model field names to include in the export
Maps internal field/attribute codes to output column names
Show child attributes
Show child attributes
Default locale for resolving localized values. Leave empty to use the project's primary locale.
20Additional locales to include as separate columns alongside the primary
How attributes are laid out in the export. 'columnar' = one column per attribute (default). 'numbered_triplets' = Attribute Name N / Value N / UOM N slots.
30Number of attribute triplet slots for numbered_triplets layout. 0 = auto-detect from data (use the max attribute count across products).
Config for numbered feature columns. Two source modes: {'source': 'short_description', 'max_slots': 20, 'column_prefix': 'ITEM_FEATURES_', 'split_on': 'newline'} splits a product field by delimiter; {'source': 'attributes', 'attribute_prefix': 'feature_', 'max_slots': 20, 'column_prefix': 'ITEM_FEATURES_'} reads dedicated feature_N attributes from the PAV store.
Dynamic attributes emitted as dedicated columns (e.g., Country of sale → Country_of_Sale) instead of numbered triplet slots. List of dicts with attribute_code, column_name, and optional join_separator (for list values).
Category columns sourced from each product's primary ProductCategory. List of dicts with source (e.g. 'primary.external_code', 'primary.name'), column_name, and optional localizable flag.
Whether this is the default template for its target platform
Limit export to products in these families. Leave empty for all.
500Response
OK
Human-readable name for this template
255Unique identifier for this template within the project
100Optional description of the template's purpose
Target platform this template is designed for
50Ordered list of product model field names to include in the export
Maps internal field/attribute codes to output column names
Default locale for resolving localized values. Leave empty to use the project's primary locale.
20Additional locales to include as separate columns alongside the primary
How attributes are laid out in the export. 'columnar' = one column per attribute (default). 'numbered_triplets' = Attribute Name N / Value N / UOM N slots.
30Number of attribute triplet slots for numbered_triplets layout. 0 = auto-detect from data (use the max attribute count across products).
Config for numbered feature columns. Two source modes: {'source': 'short_description', 'max_slots': 20, 'column_prefix': 'ITEM_FEATURES_', 'split_on': 'newline'} splits a product field by delimiter; {'source': 'attributes', 'attribute_prefix': 'feature_', 'max_slots': 20, 'column_prefix': 'ITEM_FEATURES_'} reads dedicated feature_N attributes from the PAV store.
Dynamic attributes emitted as dedicated columns (e.g., Country of sale → Country_of_Sale) instead of numbered triplet slots. List of dicts with attribute_code, column_name, and optional join_separator (for list values).
Category columns sourced from each product's primary ProductCategory. List of dicts with source (e.g. 'primary.external_code', 'primary.name'), column_name, and optional localizable flag.
Whether this is the default template for its target platform
Limit export to products in these families. Leave empty for all.

