{
  "service": "vtex",
  "displayName": "VTEX",
  "categories": [
    "Marketing",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "App Key",
      "placeholder": "VTEX_APP_KEY",
      "description": "VTEX API app key sent in the X-VTEX-API-AppKey header. Create and manage API keys in Account settings as described in the VTEX API key guide: https://developers.vtex.com/docs/guides/api-authentication-using-api-keys.",
      "extraFields": [
        {
          "key": "appToken",
          "label": "App Token",
          "inputType": "password",
          "required": true,
          "secret": true,
          "placeholder": "VTEX_APP_TOKEN",
          "description": "VTEX API app token paired with the app key and sent in the X-VTEX-API-AppToken header. Copy it when creating or rotating the API key in VTEX Account settings: https://developers.vtex.com/docs/guides/api-authentication-using-api-keys."
        },
        {
          "key": "accountName",
          "label": "Account name",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "apiexamples",
          "description": "VTEX account name used in the API hostname, for example apiexamples in https://apiexamples.vtexcommercestable.com.br."
        },
        {
          "key": "environment",
          "label": "Environment",
          "inputType": "text",
          "required": false,
          "secret": false,
          "placeholder": "vtexcommercestable",
          "description": "VTEX environment segment used in the API hostname. Leave empty to use the documented default vtexcommercestable environment."
        }
      ]
    }
  ],
  "homepageUrl": "https://vtex.com",
  "actions": [
    {
      "id": "vtex.get_product",
      "service": "vtex",
      "name": "get_product",
      "description": "Retrieve a VTEX Catalog product by its product ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "minimum": 1,
            "description": "VTEX product unique numerical identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "productId"
        ],
        "description": "Input for retrieving a VTEX product by ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "product": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A VTEX product object. The Search API and Catalog API include product, SKU, seller, pricing, specification, and custom fields that vary by store."
          }
        },
        "additionalProperties": false,
        "description": "A VTEX product lookup result."
      }
    },
    {
      "id": "vtex.list_brands",
      "service": "vtex",
      "name": "list_brands",
      "description": "List brands registered in a VTEX store catalog.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for listing VTEX brands."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "brands": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "Brand ID."
                },
                "name": {
                  "type": "string",
                  "description": "Brand name."
                },
                "isActive": {
                  "type": "boolean",
                  "description": "Whether the brand is active."
                },
                "title": {
                  "type": "string",
                  "description": "Brand title."
                },
                "metaTagDescription": {
                  "type": "string",
                  "description": "Brand SEO meta description."
                },
                "imageUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Brand image URL when configured."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": true,
              "description": "A VTEX catalog brand."
            },
            "description": "Brands returned by VTEX."
          }
        },
        "additionalProperties": false,
        "description": "VTEX catalog brands."
      }
    },
    {
      "id": "vtex.list_category_tree",
      "service": "vtex",
      "name": "list_category_tree",
      "description": "Retrieve the VTEX store category tree up to a requested depth.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "categoryLevels": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum category level depth to retrieve."
          }
        },
        "additionalProperties": false,
        "required": [
          "categoryLevels"
        ],
        "description": "Input for retrieving the VTEX category tree."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "Category ID."
                },
                "name": {
                  "type": "string",
                  "description": "Category name."
                },
                "hasChildren": {
                  "type": "boolean",
                  "description": "Whether this category has child categories."
                },
                "url": {
                  "type": "string",
                  "description": "Category storefront URL."
                },
                "children": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "A nested VTEX category node."
                  },
                  "description": "Direct child category nodes. Nested child nodes may include the same category fields."
                },
                "Title": {
                  "type": "string",
                  "description": "Category SEO title."
                },
                "MetaTagDescription": {
                  "type": "string",
                  "description": "Category SEO meta description."
                }
              },
              "additionalProperties": true,
              "description": "A VTEX catalog category tree node."
            },
            "description": "Top-level VTEX categories."
          }
        },
        "additionalProperties": false,
        "description": "VTEX catalog category tree."
      }
    },
    {
      "id": "vtex.list_product_and_sku_ids",
      "service": "vtex",
      "name": "list_product_and_sku_ids",
      "description": "Retrieve VTEX product IDs and their SKU IDs, optionally scoped by category and product ID range.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "integer",
            "minimum": 1,
            "description": "VTEX category identifier."
          },
          "from": {
            "type": "integer",
            "minimum": 1,
            "description": "Product ID that starts the VTEX product and SKU ID result range."
          },
          "to": {
            "type": "integer",
            "minimum": 1,
            "description": "Product ID that ends the VTEX product and SKU ID result range."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving VTEX product IDs and their SKU IDs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "productIdsByProductId": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "description": "VTEX SKU ID."
              },
              "description": "SKU IDs for a product."
            },
            "description": "SKU ID arrays keyed by VTEX product ID."
          },
          "range": {
            "type": "object",
            "properties": {
              "total": {
                "type": "integer",
                "description": "Total quantity of products in the response range."
              },
              "from": {
                "type": "integer",
                "description": "Initial product ID returned by the query."
              },
              "to": {
                "type": "integer",
                "description": "Final product ID returned by the query."
              }
            },
            "additionalProperties": false,
            "description": "Range metadata returned by VTEX."
          }
        },
        "additionalProperties": false,
        "description": "VTEX product IDs mapped to SKU IDs, plus range metadata."
      }
    },
    {
      "id": "vtex.search_products",
      "service": "vtex",
      "name": "search_products",
      "description": "Search VTEX storefront products with full text, filter query expressions, sorting, and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fullText": {
            "type": "string",
            "minLength": 1,
            "description": "Full-text product search term sent as the ft query parameter."
          },
          "filterQueries": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One VTEX fq filter expression."
            },
            "description": "VTEX fq filter expressions, such as C:/1000041/1000049/, productId:123, or skuId:456.",
            "minItems": 1
          },
          "orderBy": {
            "type": "string",
            "enum": [
              "OrderByPriceDESC",
              "OrderByPriceASC",
              "OrderByTopSaleDESC",
              "OrderByReviewRateDESC",
              "OrderByNameASC",
              "OrderByNameDESC",
              "OrderByReleaseDateDESC",
              "OrderByBestDiscountDESC",
              "OrderByScoreDESC"
            ],
            "description": "VTEX product search sorting method."
          },
          "from": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2500,
            "description": "Initial zero-based item number for VTEX search pagination. VTEX requires this value to be at most 2500."
          },
          "to": {
            "type": "integer",
            "minimum": 0,
            "description": "Final item number for VTEX search pagination. When from is also provided, to must be greater than or equal to from and no more than 50 greater than from."
          }
        },
        "additionalProperties": false,
        "description": "Input for searching VTEX storefront products with filters, ordering, and pagination."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A VTEX product object. The Search API and Catalog API include product, SKU, seller, pricing, specification, and custom fields that vary by store."
            },
            "description": "Products returned by VTEX search."
          }
        },
        "additionalProperties": false,
        "description": "VTEX storefront product search results."
      }
    }
  ]
}
