VTEX Specification API

The Specification API from VTEX — 2 operation(s) for specification.

Business capability
Item Master Data Management BC-2370.10

Operations 3

GET /api/catalog/pvt/specification/{specificationId} VTex Get specification by specification ID #
PUT /api/catalog/pvt/specification/{specificationId} VTex Update specification #
POST /api/catalog/pvt/specification VTex Create specification #

Documentation

📖
Documentation
https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works
📖
Documentation
https://developers.vtex.com/docs/guides/bulk-import-buyer-organizations-spreadsheet
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-api-seller-portal-overview
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-overview
📖
Documentation
https://developers.vtex.com/docs/guides/checkout-overview
📖
Documentation
https://help.vtex.com/en/tutorial/customer-credit-overview--1uIqTjWxIIIEW0COMg4uE0
📖
Documentation
https://help.vtex.com/en/tutorial/data-subject-rights--6imchxTx09icupKMbzHVIM
📖
Documentation
https://developers.vtex.com/docs/api-reference/do-api
📖
Documentation
https://developers.vtex.com/docs/guides/managing-vtex-gift-cards
📖
Documentation
https://developers.vtex.com/docs/guides/gift-card-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/faststore/headless-cms-overview
📖
Documentation
https://developers.vtex.com/docs/api-reference/vtex-id-api
📖
Documentation
https://help.vtex.com/en/tracks/vtex-intelligent-search--19wrbB7nEQcmwzDPl1l4Cb/3qgT47zY08biLP3d5os3DG
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search@1.0.8
📖
Documentation
https://help.vtex.com/en/tracks/cms--2YcpgIljVaLVQYMzxQbc3z/1oN446gRGcR2s70RvBCAmj
📖
Documentation
https://developers.vtex.com/docs/guides/search-overview
📖
Documentation
https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3
📖
Documentation
https://developers.vtex.com/docs/guides/fulfillment
📖
Documentation
https://developers.vtex.com/docs/guides/marketplace-overview
📖
Documentation
https://developers.vtex.com/updates/release-notes/marketplace-protocol-documentation-update
📖
Documentation
https://developers.vtex.com/docs/guides/external-marketplace-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-connector
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/master-data--4otjBnR27u4WUIciQsmkAw
📖
Documentation
https://help.vtex.com/en/tutorial/understanding-the-message-center--tutorials_84
📖
Documentation
https://developers.vtex.com/docs/guides/orders-overview
📖
Documentation
https://developers.vtex.com/docs/guides/changes-in-vtex-features-behavior-to-handle-pii-data
📖
Documentation
https://help.vtex.com/en/tutorial/payment-provider-protocol--RdsT2spdq80MMwwOeEq0m
📖
Documentation
https://developers.vtex.com/docs/guides/payments-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/vtex-pick-and-pack-last-mile--HN7WKV0xoq2ssVjsJlfzr
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-io-documentation-policies
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-hub
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-overview
📖
Documentation
https://developers.vtex.com/docs/guides/profile-system
📖
Documentation
https://developers.vtex.com/docs/guides/promotions-overview
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.reviews-and-ratings
📖
Documentation
https://developers.vtex.com/docs/guides/sent-offers-integration-guide-connectors
📖
Documentation
https://developers.vtex.com/docs/guides/sessions-system-overview
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-shipping-network
📖
Documentation
https://help.vtex.com/en/tutorial/sku-bindings--1SmrVgNwjJX17hdqwLa0TX
📖
Documentation
https://developers.vtex.com/docs/guides/subscriptions
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search/suggestions
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-tracking

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vtex-specification-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

vtex-specification-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VTex Catalog Specification API
  description: '> Check the new Catalog onboarding guide.'
  version: '1.0'
servers:
- url: https://{accountName}.{environment}.com.br
  description: VTEX server URL.
  variables:
    accountName:
      description: Name of the VTEX account. Used as part of the URL.
      default: apiexamples
    environment:
      description: Environment to use. Used as part of the URL.
      enum:
      - vtexcommercestable
      default: vtexcommercestable
security:
- appKey: []
  appToken: []
- VtexIdclientAutCookie: []
tags:
- name: Specification
paths:
  /api/catalog/pvt/specification/{specificationId}:
    get:
      tags:
      - Specification
      summary: VTex Get specification by specification ID
      description: 'Retrieves information of a product or SKU specification.


        ## Permissions


        Any user or application key must have at least one of the appropriate License Manager resources to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Catalog | Commercial | **SKU management** |


        There are no applicable predefined roles for this resource list. You must create a custom role and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see Authentication overview.


        >❗ To prevent integrations from having excessive permissions, consider the best practices for managing app keys when assigning License Manager roles to integrations.'
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - name: specificationId
        in: path
        required: true
        description: Specification's unique numerical identifier.
        schema:
          type: integer
          example: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              example:
                Id: 32
                FieldTypeId: 6
                CategoryId: 10
                FieldGroupId: 11
                Name: Peso
                Description: Peso
                Position: 1
                IsFilter: false
                IsRequired: true
                IsOnProductDetails: false
                IsStockKeepingUnit: true
                IsWizard: false
                IsActive: true
                IsTopMenuLinkActive: false
                IsSideMenuLinkActive: false
                DefaultValue: null
              schema:
                type: object
                required:
                - Id
                - FieldTypeId
                - CategoryId
                - FieldGroupId
                - Name
                - Description
                - Position
                - IsFilter
                - IsRequired
                - IsOnProductDetails
                - IsStockKeepingUnit
                - IsWizard
                - IsActive
                - IsTopMenuLinkActive
                - IsSideMenuLinkActive
                - DefaultValue
                properties:
                  Id:
                    type: integer
                    description: Created specification's ID.
                  FieldTypeId:
                    type: integer
                    description: Field type can be `1 - Text`, `2 - Multi-Line Text`, `4 - Number`, `5 - Combo`, `6 - Radio`, `7 - Checkbox`, `8 - Indexed Text`, `9 - Indexed Multi-Line Text`.
                    enum:
                    - 1
                    - 2
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                  CategoryId:
                    type: integer
                    description: Specification category ID.
                  FieldGroupId:
                    type: integer
                    description: Numerical ID of the specification group that contains the new specification.
                  Name:
                    type: string
                    description: Specification name.  Limited to 100 characters.
                  Description:
                    type: string
                    description: Specification description.
                  Position:
                    type: integer
                    description: The current specification's position in comparison to the other specifications.
                  IsFilter:
                    type: boolean
                    description: Defines if the specification can be used as a filter.
                  IsRequired:
                    type: boolean
                    description: Defines if the specification is required or not.
                  IsOnProductDetails:
                    type: boolean
                    description: Defines if the specification will be shown on the product screen in the specification area.
                  IsStockKeepingUnit:
                    type: boolean
                    description: Defines if the specification is applied to a specific SKU.
                  IsWizard:
                    type: boolean
                    description: Deprecated field.
                    deprecated: true
                  IsActive:
                    type: boolean
                    description: Defines if the specification is active or not.
                  IsTopMenuLinkActive:
                    type: boolean
                    description: Defines if the specification is shown in the main menu of the site.
                  IsSideMenuLinkActive:
                    type: boolean
                    description: Defines if the specification is shown in the side menu.
                  DefaultValue:
                    type:
                    - string
                    - 'null'
                    description: Specification default value.
      operationId: getApiCatalogPvtSpecificationBySpecificationId
      x-operation-id-source: derived
    put:
      tags:
      - Specification
      summary: VTex Update specification
      description: 'Updates a product specification or SKU specification.


        >⚠️ It is not possible to edit `FieldTypeId`, `CategoryId`, `FieldGroupId` or `IsStockKeepingUnit` in this API call.


        ## Permissions


        Any user or application key must have at least one of the appropriate License Manager resources to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Catalog | Commercial | **SKU management** |


        There are no applicable predefined roles for this resource list. You must create a custom role and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see Authentication overview.


        >❗ To prevent integrations from having excessive permissions, consider the best practices for managing app keys when assigning License Manager roles to integrations.'
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - name: specificationId
        in: path
        required: true
        description: Specification's unique numerical identifier.
        schema:
          type: integer
          example: 88
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - FieldTypeId
              - CategoryId
              - FieldGroupId
              - Name
              - Description
              - Position
              - IsFilter
              - IsRequired
              - IsOnProductDetails
              - IsStockKeepingUnit
              - IsWizard
              - IsActive
              - IsTopMenuLinkActive
              - IsSideMenuLinkActive
              - DefaultValue
              properties:
                FieldTypeId:
                  type: integer
                  description: Field type can be `1 - Text`, `2 - Multi-Line Text`, `4 - Number`, `5 - Combo`, `6 - Radio`, `7 - Checkbox`, `8 - Indexed Text`, `9 - Indexed Multi-Line Text`. This information is not editable.
                  example: 1
                  enum:
                  - 1
                  - 2
                  - 4
                  - 5
                  - 6
                  - 7
                  - 8
                  - 9
                CategoryId:
                  type: integer
                  description: Specification category ID. This information is not editable.
                  example: 0
                FieldGroupId:
                  type: integer
                  description: Numerical ID of the specification group that contains the new specification. This information is not editable.
                  example: 0
                Name:
                  type: string
                  description: Specification name. Limited to 100 characters.
                  example: Material
                Description:
                  type: string
                  description: Specification description.
                  example: Composition of the product.
                Position:
                  type: integer
                  description: The current specification's position in comparison to the other specifications.
                  example: 1
                IsFilter:
                  type: boolean
                  description: Defines if the specification can be used as a filter.
                  example: false
                IsRequired:
                  type: boolean
                  description: Defines if the specification is required or not.
                  example: false
                IsOnProductDetails:
                  type: boolean
                  description: Defines if the specification will be  shown on the product screen in the specification area.
                  example: false
                IsStockKeepingUnit:
                  type: boolean
                  description: Defines if the specification is applied to a specific SKU. This information is not editable.
                  example: false
                IsWizard:
                  type: boolean
                  description: Deprecated field.
                  example: false
                  deprecated: true
                IsActive:
                  type: boolean
                  description: Defines if the specification is active or not.
                  example: false
                IsTopMenuLinkActive:
                  type: boolean
                  description: Defines if the specification is shown in the main menu of the site.
                  example: false
                IsSideMenuLinkActive:
                  type: boolean
                  description: Defines if the specification is shown in the side menu.
                  example: false
                DefaultValue:
                  type: string
                  description: Specification default value.
                  example: Leather
      responses:
        '200':
          description: OK
          content:
            application/json:
              example:
                Id: 88
                FieldTypeId: 1
                CategoryId: 4
                FieldGroupId: 20
                Name: Material
                Description: Composition of the product.
                Position: 1
                IsFilter: true
                IsRequired: true
                IsOnProductDetails: false
                IsStockKeepingUnit: false
                IsWizard: false
                IsActive: true
                IsTopMenuLinkActive: false
                IsSideMenuLinkActive: true
                DefaultValue: Leather
              schema:
                type: object
                properties:
                  Id:
                    type: integer
                    description: Specification ID.
                  FieldTypeId:
                    type: integer
                    description: Field type ID can be `1 - Text`, `2 - Multi-Line Text`, `4 - Number`, `5 - Combo`, `6 - Radio`, `7 - Checkbox`, `8 - Indexed Text`, `9 - Indexed Multi-Line Text`.
                  CategoryId:
                    type: integer
                    description: Category ID associated with this specification.
                  FieldGroupId:
                    type: integer
                    description: ID of the group of specifications that contains the new specification.
                  Name:
                    type: string
                    description: Specification name. Limited to 100 characters.
                  Description:
                    type:
                    - string
                    - 'null'
                    deprecated: true
                  Position:
                    type: integer
                    description: 'Store Framework - Deprecated.

                      Legacy CMS Portal - This position number is used in ordering the specifications both in the navigation menu and in the specification listing on the product page.'
                  IsFilter:
                    type: boolean
                    description: 'Store Framework - Deprecated.

                      Legacy CMS Portal - To allow the specification to be used as a facet (filter) on the search navigation bar.'
                  IsRequired:
                    type: boolean
                    description: Makes the specification mandatory (`true`) or optional (`false`).
                  IsOnProductDetails:
                    type: boolean
                    description: 'Store Framework - Deprecated.

                      Legacy CMS Portal -If specification is visible on the product page.'
                  IsStockKeepingUnit:
                    type: boolean
                    description: If `true`, it will be added as a SKU specification. If `false`, it will be added as a product specification field.
                  IsWizard:
                    type:
                    - boolean
                    - 'null'
                    deprecated: true
                    description: Deprecated field.
                  IsActive:
                    type: boolean
                    description: Enable (`true`) or disable (`false`) specification.
                  IsTopMenuLinkActive:
                    type: boolean
                    description: 'Store Framework - Deprecated.

                      Legacy CMS Portal - To make the specification visible in the store''s upper menu.'
                  IsSideMenuLinkActive:
                    type: boolean
                    description: 'Store Framework - Deprecated.

                      Legacy CMS Portal - To make the specification field clickable in the search navigation bar.'
                  DefaultValue:
                    type: string
                    description: Specification default value.
      operationId: putApiCatalogPvtSpecificationBySpecificationId
      x-operation-id-source: derived
  /api/catalog/pvt/specification:
    post:
      tags:
      - Specification
      summary: VTex Create specification
      description: 'Creates a new product or SKU specification.


        ## Permissions


        Any user or application key must have at least one of the appropriate License Manager resources to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Catalog | Commercial | **SKU management** |


        There are no applicable predefined roles for this resource list. You must create a custom role and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see Authentication overview.


        >❗ To prevent integrations from having excessive permissions, consider the best practices for managing app keys when assigning License Manager roles to integrations.'
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - FieldTypeId
              - FieldGroupId
              - Name
              properties:
                FieldTypeId:
                  type: integer
                  description: Field type ID can be `1 - Text`, `2 - Multi-Line Text`, `4 - Number`, `5 - Combo`, `6 - Radio`, `7 - Checkbox`, `8 - Indexed Text`, `9 - Indexed Multi-Line Text`.
                  example: 1
                  enum:
                  - 1
                  - 2
                  - 4
                  - 5
                  - 6
                  - 7
                  - 8
                  - 9
                CategoryId:
                  type: integer
                  description: Category ID associated with this specification.
                  example: 1
                FieldGroupId:
                  type: integer
                  description: ID of the group of specifications that contains the new specification.
                  example: 22
                Name:
                  type: string
                  description: Specification name. Limited to 100 characters.
                  example: Material
                Description:
                  type:
                  - string
                  - 'null'
                  deprecated: true
                  example: Composition of the product.
                Position:
                  type: integer
                  description: 'Store Framework - Deprecated.

                    Legacy CMS Portal - This position number is used in ordering the specifications both in the navigation menu and in the specification listing on the product page.'
                  example: 1
                IsFilter:
                  type: boolean
                  description: 'Store Framework - Deprecated.

                    Legacy CMS Portal - To allow the specification to be used as a facet (filter) on the search navigation bar.'
                  example: false
                IsRequired:
                  type: boolean
                  description: Makes the specification mandatory (`true`) or optional (`false`).
                  example: false
                IsOnProductDetails:
                  type: boolean
                  description: 'Store Framework - Deprecated.

                    Legacy CMS Portal -If specification is visible on the product page.'
                  example: true
                IsStockKeepingUnit:
                  type: boolean
                  description: If `true`, it will be added as a SKU specification. If `false`, it will be added as a product specification field.
                  example: false
                IsWizard:
                  type:
                  - boolean
                  - 'null'
                  deprecated: true
                  description: Deprecated field.
                  example: null
                IsActive:
                  type: boolean
                  description: Enable (`true`) or disable (`false`) specification.
                  example: true
                IsTopMenuLinkActive:
                  type: boolean
                  description: 'Store Framework - Deprecated.

                    Legacy CMS Portal - To make the specification visible in the store''s upper menu.'
                  example: false
                IsSideMenuLinkActive:
                  type: boolean
                  description: 'Store Framework - Deprecated.

                    Legacy CMS Portal - To make the specification field clickable in the search navigation bar.'
                  example: false
                DefaultValue:
                  type: string
                  description: Specification default value.
                  example: Cotton
      responses:
        '200':
          description: OK
          content:
            application/json:
              example:
                Id: 88
                FieldTypeId: 1
                CategoryId: 4
                FieldGroupId: 20
                Name: Material
                Description: Composition of the product.
                Position: 1
                IsFilter: true
                IsRequired: true
                IsOnProductDetails: false
                IsStockKeepingUnit: false
                IsWizard: false
                IsActive: true
                IsTopMenuLinkActive: false
                IsSideMenuLinkActive: true
                DefaultValue: Cotton
              schema:
                type: object
                properties:
                  Id:
                    type: integer
                    description: Specification ID.
                  FieldTypeId:
                    type: integer
                    description: Field type ID can be `1 - Text`, `2 - Multi-Line Text`, `4 - Number`, `5 - Combo`, `6 - Radio`, `7 - Checkbox`, `8 - Indexed Text`, `9 - Indexed Multi-Line Text`.
                  CategoryId:
                    type: integer
                    description: Category ID associated with this specification.
                  FieldGroupId:
                    type: integer
                    description: ID of the group of specifications that contains the new specification.
                  Name:
                    type: string
                    description: Specification name. Limited to 100 characters.
                  Description:
                    type:
                    - string
                    - 'null'
                    deprecated: true
                  Position:
                    type: integer
                    description: 'Store Framework - Deprecated.

                      Legacy CMS Portal - This position number is used in ordering the specifications both in the navigation menu and in the specification listing on the product page.'
                  IsFilter:
                    type: boolean
                    description: 'Store Framework - Deprecated.

                      Legacy CMS Portal - To allow the specification to be used as a facet (filter) on the search navigation bar.'
                  IsRequired:
                    type: boolean
                    description: Makes the specification mandatory (`true`) or optional (`false`).
                  IsOnProductDetails:
                    type: boolean
                    description: 'Store Framework - Deprecated.

                      Legacy CMS Portal -If specification is visible on the product page.'
                  IsStockKeepingUnit:
                    type: boolean
                    description: If `true`, it will be added as a SKU specification. If `false`, it will be added as a product specification field.
                  IsWizard:
                    type:
                    - boolean
                    - 'null'
                    deprecated: true
                  IsActive:
                    type: boolean
                    description: Enable (`true`) or disable (`false`) specification.
                  IsTopMenuLinkActive:
                    type: boolean
                    description: 'Store Framework - Deprecated.

                      Legacy CMS Portal - To make the specification visible in the store''s upper menu.'
                  IsSideMenuLinkActive:
                    type: boolean
                    description: 'Store Framework - Deprecated.

                      Legacy CMS Portal - To make the specification field clickable in the search navigation bar.'
                  DefaultValue:
                    type: string
                    description: Specification default value.
      operationId: postApiCatalogPvtSpecification
      x-operation-id-source: derived
components:
  parameters:
    Accept:
      name: Accept
      in: header
      description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
      required: true
      style: simple
      schema:
        type: string
        default: application/json
    Content-Type:
      name: Content-Type
      in: header
      description: Type of the content being sent.
      required: true
      style: simple
      schema:
        type: string
        default: application/json
  securitySchemes:
    appKey:
      type: apiKey
      in: header
      name: X-VTEX-API-AppKey
      description: Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys).
    appToken:
      type: apiKey
      in: header
      name: X-VTEX-API-AppToken
      description: Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys).
    VtexIdclientAutCookie:
      type: apiKey
      in: header
      name: VtexIdclientAutCookie
      description: '[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours.'