> ## Documentation Index
> Fetch the complete documentation index at: https://developers.nuvia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update the value of a custom field

> Updates the value of a specific custom field on a conversation. Depending on the field's context (conversation, contact, or business), it updates the conversation, the contact, or the contact's company — the contact and the company are resolved from the given conversation, which is why `conversationId` is required even for a contact field. Accepts all types: `text`, `number`, and `date` receive the value directly; `select`/`multi_select` receive the `option_id` (or a list of them), which comes from `GET /v1/custom-fields/{id}/options`. An invalid value returns 422 with `accepted_values`. A field or conversation from another company returns 403/404.



## OpenAPI

````yaml /en/openapi.json put /v1/custom-fields/{id}/value
openapi: 3.0.0
info:
  title: Nuvia API - Company
  description: API documentation for companies
  version: '1.0'
  contact: {}
servers:
  - url: https://api.nuvia.ai
security: []
tags:
  - name: messages
    x-group: Mensagens
  - name: contacts
    x-group: Contatos
  - name: campaigns
    x-group: Campanhas
  - name: tables
    x-group: Tabelas e Listas
  - name: agents
    x-group: Agentes
  - name: conversations
    x-group: Conversas
  - name: inboxes
    x-group: Caixas de Entrada
  - name: knowledge
    x-group: Base de Conhecimento
  - name: Webhooks
    x-group: Webhooks
  - name: campaign-enrollments
    x-group: Inscrições em Campanha
  - name: custom-fields
    x-group: Campos Customizados
paths:
  /v1/custom-fields/{id}/value:
    put:
      tags:
        - custom-fields
      summary: Update the value of a custom field
      description: >-
        Updates the value of a specific custom field on a conversation.
        Depending on the field's context (conversation, contact, or business),
        it updates the conversation, the contact, or the contact's company — the
        contact and the company are resolved from the given conversation, which
        is why `conversationId` is required even for a contact field. Accepts
        all types: `text`, `number`, and `date` receive the value directly;
        `select`/`multi_select` receive the `option_id` (or a list of them),
        which comes from `GET /v1/custom-fields/{id}/options`. An invalid value
        returns 422 with `accepted_values`. A field or conversation from another
        company returns 403/404.
      operationId: CustomFieldController_updateCustomFieldValue
      parameters:
        - name: id
          required: true
          in: path
          description: ID of the custom field to update
          schema:
            type: string
      responses:
        '200':
          description: Custom field value updated successfully
        '400':
          description: Invalid data
        '401':
          description: Invalid or expired token
        '403':
          description: You do not have permission to access this resource
        '404':
          description: Resource not found
      security:
        - JWT-auth: []
components:
  securitySchemes:
    JWT-auth:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Token JWT de autenticação

````