---
title: "Actualizar definición de campo personalizado"
method: PUT
path: "/api/v1/customers/metafield-definitions/{definition_id}"
tags: ["API"]
---

# Actualizar definición de campo personalizado

`PUT /api/v1/customers/metafield-definitions/{definition_id}`

## Request

- Base URL: `https://api.lapyme.com.ar`
- URL: `https://api.lapyme.com.ar/api/v1/customers/metafield-definitions/{definition_id}`
- Auth: HTTP bearer

Requiere campos personalizados habilitados. La clave y el tipo son inmutables. Los campos omitidos se conservan. Eliminar borra también los valores guardados y devuelve deleted_value_count. Productos y variantes requieren products:write; clientes y ventas requieren admin, igual que los comandos de configuración existentes. Una clave de productos no puede repetirse en variantes, ni al revés.

## Path parameters

- `definition_id` string, uuid, required

## Headers

- `Idempotency-Key` string, required

## Request body

- ApiMetafieldDefinitionUpdateRequest
  - `name` string
  - `description` string, nullable
  - `validations` object
    - `required` boolean
    - `min_length` integer
    - `max_length` integer
    - `min` number
    - `max` number
    - `options` string[]

## Response `200`

Definición guardada o eliminada

- ApiMetafieldDefinitionWriteResponse
  - `request_id` string, required
  - `data` object, required
    - `definition` object
      - `object` 'metafield_definition', required
      - `id` string, uuid, required
      - `key` string, required
      - `name` string, required
      - `description` string, nullable, required
      - `field_type` 'boolean' | 'text' | 'number' | 'date' | 'select', required
      - `validations` ApiSharedObjecta855803bd5, required
        - `required` boolean, required
        - `min_length` integer
        - `max_length` integer
        - `min` number
        - `max` number
        - `options` string[]
    - `deleted` object
      - `object` 'metafield_definition', required
      - `id` string, uuid, required
      - `deleted` true, required
      - `deleted_value_count` integer, required
    - `idempotent_replay` boolean, required
  - `warnings` unknown[], required
    - unknown

## Other responses

- `400`: Datos, validaciones o clave de idempotencia inválidos; campo del sistema
- `401`: Autenticación requerida
- `403`: Permisos insuficientes o campos personalizados no habilitados
- `404`: Definición no encontrada en el recurso y organización
- `409`: Nombre duplicado, clave usada por un campo de productos o de variantes, o clave de idempotencia usada con otros datos
- `429`: Límite de solicitudes excedido para la organización
- `500`: Error interno
- `503`: Verificación de credenciales temporalmente ocupada; reintentá sin cambiar la operación ni su Idempotency-Key.

## Changes

- **2026-11-03** `ed0d46e68fbe`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/lapyme/apis/la-pyme-api/changes/api/v1/customers/metafield-definitions/:definition_id/put.md)

---

[API](https://skmtc.dev/lapyme/apis/la-pyme-api.md) - [All operations](https://skmtc.dev/lapyme/apis/la-pyme-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lapyme/apis/la-pyme-api/revisions/067bbb55f421?raw)
