List Listing Profile Mappings
GET/api/v2/sales-channels/:salesChannel/listing-profiles/:profile/mappings
The general field mappings a listing profile carries — the mappings that hold whatever the category, so a category template does not have to repeat them.
products:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
A profile's vocabulary is the channel's CORE listing fields and nothing else — the fields the channel asks for on every listing whatever the category, as its module declares them. Category aspects are never returned and can never be stored here: a template is category-specific, a profile is not. A row with is_core: false is a mapping made before that rule was enforced — it is still live, so it is returned to be removed rather than hidden.
Each row carries EITHER the profile's own binding in source_type / source_value, or — when the profile leaves the field unbound — what it would resolve to from a lower layer in inherited_source_type / inherited_source_value / inherited_from (channel or integration). Exactly one of the two pairs is populated.
source_type is one of product_field, product_attribute, static, expression. is_core marks a listing-level field the channel always needs; category_count is how many synced categories carry the field (0 for core fields).
A field's value resolves most-specific-first: per-listing override, then category template, then this profile, then the channel-wide mappings, then the integration-wide defaults.
Returns 404 when the profile does not belong to the sales channel in the path.
Authentication: Requires Bearer token.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.