Elastic Path Product Tags API
```mdx-code-block import ProductTags from '/docs/partials/pxm/products/tags.mdx'; ```
```mdx-code-block import ProductTags from '/docs/partials/pxm/products/tags.mdx'; ```
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/elastic-path-product-tags-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Product Experience Manager Introduction Product Tags API
description: '
Product Experience Manager uses the PIM service to manage product information, hierarchies, and price books. Ideally, Product Experience Manager becomes the single source of truth for product data across your organization.
In Commerce, the product data is stored separately from pricing, catalogs, and inventory. This separation means that you retrieve all product data only when you are managing product data and assets. Otherwise, when setting prices or managing inventory, you retrieve a reference to the product rather than the entire product, which makes the response times very fast.
You also have the flexibility to create catalogs for different scenarios by combining hierarchies of products with a price book. Scenarios might include:
- **Multiple geographical regions**. Display different catalogs in different regions with suitable pricing or combine product hierarchies from two different regions to display in a third region.
- **Multiple channels**. Display different catalogs based on how a shopper accesses your store, such as through a mobile app or a web storefront.
- **Direct to business versus direct to customers**. Offer different products and prices for business customers versus retail customers.
- **Preferred customers**. Offer special pricing to preferred customers while displaying a standard price catalog to all other shoppers.
- **Reward programs**. Enable reward programs where catalog prices drop after a certain spending level is reached.
- **Product sales**. Offer sale items for a limited time.
Scenarios are created by defining the context within which a catalog is displays. Contexts can be a customer ID, a channel, or any other user-defined tag that can be passed to the APIs from the front-end shopper experiences.
'
version: 26.0612.7739142
x-version-timestamp: 2026-06-12 10:52:50+00:00
servers:
- url: https://euwest.api.elasticpath.com
description: EU West Production Server
- url: https://useast.api.elasticpath.com
description: US East Production Server
security:
- bearerAuth: []
tags:
- name: Product Tags
description: '```mdx-code-block
import ProductTags from ''/docs/partials/pxm/products/tags.mdx'';
<ProductTags />
```
'
paths:
/pcm/tags:
get:
summary: Get All Product Tags
description: "Retrieves all product tags for a store. A store can view the tags associated with the organization to which the store belongs. However, an organization can only view the tags associated with the organization.\n \n"
operationId: getAllProductTags
tags:
- Product Tags
responses:
'200':
description: Returns all the product tags.
content:
application/json:
schema:
$ref: '#/components/schemas/multi_tag'
examples:
list-tags:
summary: Get all tags
$ref: '#/components/examples/resp_multi_tags'
'400':
$ref: '#/components/responses/bad_request'
'404':
$ref: '#/components/responses/not_found'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal'
/pcm/tags/{tagID}:
get:
summary: Get a Product Tag
description: Retrieves a product tag for a store. A store can view the tags associated with the organization to which the store belongs. However, an organization can only view the tags associated with the organization.
operationId: getProductTag
tags:
- Product Tags
parameters:
- $ref: '#/components/parameters/tag_id'
responses:
'200':
description: Returns a product tag with the following attributes.
content:
application/json:
schema:
$ref: '#/components/schemas/single_tag'
examples:
get-tag:
summary: Get a tag
$ref: '#/components/examples/resp_single_tag'
'400':
$ref: '#/components/responses/bad_request'
'404':
$ref: '#/components/responses/not_found'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal'
components:
responses:
not_found:
description: Bad Request. Not Found.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
examples:
internal-server-error:
value:
errors:
- title: Not Found
status: '404'
internal:
description: Internal server error. There was a system failure in the platform.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
examples:
internal-server-error:
value:
errors:
- status: '500'
title: Internal Server Error
detail: There was an internal server error, you can report with your request id.
request_id: 635da56d-75a1-43cd-b696-7ab119756b3a
unprocessable_entity:
description: Bad request. The request failed validation.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
examples:
failed-validation:
value:
errors:
- title: Failed Validation
status: '422'
detail: <XYZ> can not be empty
bad_request:
description: Bad request. The request failed validation.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
examples:
bad-request:
value:
errors:
- title: Bad Request
detail: Could not parse the supplied filter
status: '400'
schemas:
single_tag:
type: object
properties:
data:
$ref: '#/components/schemas/tag'
multi_tag:
type: object
properties:
data:
description: An array of tags.
type: array
items:
$ref: '#/components/schemas/tag'
meta:
type: object
properties:
results:
description: Contains the results for the entire collection.
type: object
properties:
total:
description: Total number of results for the entire collection.
type: integer
example: 2
error:
required:
- errors
properties:
errors:
type: array
items:
required:
- status
- title
properties:
status:
type: string
description: The HTTP response code of the error.
example: '500'
title:
type: string
description: A brief summary of the error.
example: Internal server error
detail:
type: string
description: Optional additional detail about the error.
example: An internal error has occurred.
request_id:
type: string
description: Internal request ID.
example: 00000000-0000-0000-0000-000000000000
meta:
type: object
description: Additional supporting meta data for the error.
example:
missing_ids:
- e7d50bd5-1833-43c0-9848-f9d325b08be8
tag:
type: object
properties:
id:
description: A unique identifier generated when a tag is created.
type: string
type:
description: This represents the type of resource object being returned. Always `tag`.
type: string
enum:
- tag
attributes:
type: object
properties:
value:
type: string
description: The text value of the tag.
meta:
type: object
properties:
x_request_id:
type: string
description: A unique request ID is generated when a tag is created.
created_at:
type: string
description: The date and time a tag is created.
example: '2020-09-22T09:00:00.000Z'
format: date-time
updated_at:
type: string
description: The date and time a tag is updated.
example: '2020-09-22T09:00:00.000Z'
format: date-time
owner:
description: The owner of a resource, either `organization` or `store`.
type: string
enum:
- store
- organization
parameters:
tag_id:
name: tagID
in: path
schema:
type: string
example: 00000000-0000-0000-0000-000000000000
required: true
description: A unique identifier for the tag.
examples:
resp_single_tag:
value:
data:
type: tag
id: 9879a8f5-0da2-4be6-91f6-a0f09d1c77a9
attributes:
value: tables
meta:
created_at: '2024-03-20T18:37:43.398Z'
owner: organization
updated_at: '2024-03-20T18:37:43.398Z'
resp_multi_tags:
value:
data:
- type: tag
id: a88aac35-54de-40c2-bb4b-f1c57624db27
attributes:
value: shirts
meta:
created_at: '2024-03-20T15:56:40.014Z'
owner: store
updated_at: '2024-03-20T15:56:40.014Z'
- type: tag
id: 6782e020-fefd-431e-9dea-b59d249c2c5e
attributes:
value: shoes
meta:
created_at: '2024-03-20T15:56:40.014Z'
owner: store
updated_at: '2024-03-20T15:56:40.014Z'
meta:
results:
total: 2
securitySchemes:
bearerAuth:
type: http
scheme: bearer