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

# Update Participant

> Update a participant's tag and/or metadata.

<Warning>
  `metadata` uses **full replacement** semantics — the entire object is replaced by what you send. Any keys not included in the request will be lost. See [Participant — metadata](/core/participant#metadata).
</Warning>

<Note>
  `tag` and `metadata` are both optional. If neither is provided, the request still succeeds and only `updated_at` is refreshed.
</Note>

<Note>
  Returns `404` if the participant is not found.
</Note>


## OpenAPI

````yaml api-reference/openapi-participants.json POST /update-participant
openapi: 3.1.0
info:
  title: Heify API — Participants
  description: Endpoints for creating, retrieving, and managing Participants.
  version: 1.0.0
servers:
  - url: https://api.heify.com
security:
  - apiKeyAuth: []
paths:
  /update-participant:
    post:
      summary: Update Participant
      description: >-
        Updates an existing participant's `tag` and/or `metadata`. Only provided
        fields are modified. `metadata` uses full replacement semantics.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateParticipantRequest'
            examples:
              UpdateTagAndMetadata:
                summary: Update tag and metadata
                value:
                  participant_id: 2e2f776f-0dff-44a9-83e0-66ad34712623
                  tag: chuchu caci
                  metadata:
                    department: ventas
              UpdateTagOnly:
                summary: Update tag only
                value:
                  participant_id: 2e2f776f-0dff-44a9-83e0-66ad34712623
                  tag: New Name
      responses:
        '200':
          description: Participant updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateParticipantResponse'
              examples:
                Success:
                  summary: Participant updated
                  value:
                    data:
                      message: Participant updated successfully
                      participant:
                        participant_id: 2e2f776f-0dff-44a9-83e0-66ad34712623
                        tag: chuchu caci
                        metadata:
                          department: ventas
                        created_at: '2026-03-21T13:33:23.189414+00:00'
                        updated_at: '2026-03-21T13:38:48.510473+00:00'
components:
  schemas:
    UpdateParticipantRequest:
      type: object
      properties:
        participant_id:
          type: string
          format: uuid
          description: The unique identifier of the participant to update.
        tag:
          type: string
          description: >-
            New label for this participant. Max 100 characters. Cannot be empty
            or whitespace-only. Omit to leave unchanged.
        metadata:
          type: object
          nullable: true
          description: >-
            Full replacement for the metadata object. All previous keys not
            included will be lost. Max 10 keys; key names max 50 characters;
            values max 250 characters. Omit to leave unchanged.
      required:
        - participant_id
    UpdateParticipantResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            message:
              type: string
            participant:
              $ref: '#/components/schemas/ParticipantObject'
    ParticipantObject:
      type: object
      properties:
        participant_id:
          type: string
          format: uuid
          description: Unique identifier for this participant.
        tag:
          type: string
          description: Human-readable label for this participant. Max 100 characters.
        metadata:
          type: object
          nullable: true
          description: >-
            Arbitrary key-value pairs. All values are stored as strings. Max 10
            keys; key names max 50 characters; values max 250 characters.
        created_at:
          type: string
          format: date-time
          description: Creation timestamp (ISO 8601).
        updated_at:
          type: string
          format: date-time
          description: Last updated timestamp (ISO 8601).
      required:
        - participant_id
        - tag
        - created_at
        - updated_at
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````