Listar características
Retorna as características cadastradas na loja, com filtros por tipo, status, grupo e categoria, e paginação.
Use esta operação para ler o cadastro de características da loja: montar uma tela de administração, sincronizar o catálogo com um ERP ou descobrir o id de uma característica antes de gravar valores em produtos. A lista traz a definição de cada característica (nome, tipo, onde aparece, a que grupo pertence). Ela não traz as opções (as variantes) nem os valores dos produtos. Para as opções, use Consultar característica ou Opções de uma característica.
A lista mistura características comuns e grupos (feature_type igual a group). Para ver só os grupos, use Listar grupos.
/api/v1/admin/featuresAdminListar características
Ordenada por position e depois por nome. Exige o privilégio manage_features.
Parâmetros de consulta
pageintegerpadrão: 1per_pageintegerpadrão: 20feature_typestringselectmulti_selecttextnumberdateboolgroupbrandauthorcolorstatusstringAHDactivehiddendisabledgroup_iduuidcategory_idstringcategories_path vazio (todas as categorias) e as que contêm o id da categoria. A busca é por trecho de texto, sem considerar subcategorias.searchstring/api/v1/admin/characteristicsAdminApelido em português: listar características
Apelido de /api/v1/admin/features: mesmos parâmetros, mesmo corpo, mesmas regras.
Exemplo de requisição
curl "$BASE_URL/api/v1/admin/features?feature_type=select&per_page=50" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"features": [
{
"id": "a827c238-e0ce-4ff3-9655-478b5e3adf1b",
"name": "Tamanho",
"code": "size",
"feature_type": "select",
"description": "Tamanho de vestuário (letras)",
"purpose": "group_catalog_item",
"prefix": "",
"suffix": "",
"categories_path": "",
"display_on_product": true,
"display_on_catalog": true,
"filterable": false,
"comparable": true,
"position": 20,
"status": "A",
"created_at": "2026-04-29T19:57:53.063048Z",
"updated_at": "2026-04-29T19:57:53.063048Z",
"feature_id": "a827c238-e0ce-4ff3-9655-478b5e3adf1b",
"feature": "Tamanho",
"timestamp": 1777492673,
"updated_timestamp": 1777492673
}
],
"total": 32,
"page": 1,
"per_page": 20,
"total_pages": 2
}Campos da resposta
featuresarrayvariants.features[].iduuidfeatures[].group_iduuidfeatures[].namestringfeatures[].codestringsize, weight). Pode ser vazio.features[].feature_typestringselectmulti_selecttextnumberdateboolgroupbrandauthorcolorfeatures[].descriptionstringfeatures[].purposestringgroup_catalog_itemgroup_variation_catalog_itemfeatures[].prefixstringfeatures[].suffixstringkg, cm).features[].categories_pathstringfeatures[].display_on_productbooleanfeatures[].display_on_catalogbooleanfeatures[].filterablebooleanfeatures[].comparablebooleanfeatures[].positionintegerfeatures[].statusstringAHDfeatures[].created_atstringfeatures[].updated_atstringfeatures[].feature_iduuidid.features[].featurestringname.features[].timestampintegerfeatures[].updated_timestampintegertotalintegerpageintegerper_pageintegertotal_pagesintegerErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem credenciais, chave de API inválida ou token expirado | {"error":"missing authorization header"} ou {"error":"invalid or expired token"} |
| 403 | Usuário sem o privilégio manage_features | {"error":"insufficient privileges","required":"manage_features"} |
| 429 | Limite de requisições (por exemplo, login repetido) | {"error":"rate limit exceeded","detail":"too many requests, please try again later"} |
| 500 | Falha interna, ou group_id que não é UUID | {"error":"failed to list features","detail":"..."} |