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: 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.'