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

# Update Entity

## Overview

Update an existing entity with new data. You can modify the entity name, view permissions, and parameter configurations.

## Request Examples

The request body can include various fields depending on what you want to update. Here are common update scenarios:

<CodeGroup>
  ```json Basic Update theme={null}
  {
    "name": "Updated Employee Entity"
  }
  ```

  ```json Update View Permissions theme={null}
  {
    "name": "Employee Entity",
    "viewPermission": [
      "HR",
      "MANAGER",
      "ADMIN"
    ]
  }
  ```

  ```json Update Parameters - Basic Fields theme={null}
  {
    "name": "Employee Entity",
    "parameters": [
      {
        "id": "param-1",
        "name": "firstName",
        "label": "First Name",
        "type": "TEXT",
        "isRequired": true,
        "isUnique": false
      },
      {
        "id": "param-2",
        "name": "lastName",
        "label": "Last Name",
        "type": "TEXT",
        "isRequired": true
      },
      {
        "id": "param-3",
        "name": "email",
        "label": "Email Address",
        "type": "EMAIL",
        "isRequired": true
      }
    ]
  }
  ```

  ```json Update Parameters with Advanced Options theme={null}
  {
    "name": "Contract Entity",
    "parameters": [
      {
        "id": "param-1",
        "name": "contractValue",
        "label": "Contract Value",
        "type": "CURRENCY",
        "isRequired": true,
        "isCalc": true,
        "isUnique": false,
        "computedFormula": ["baseValue * 1.1"],
        "advancedOptions": {
          "id": "adv-opt-1",
          "decimals": 2,
          "currency": "USD",
          "locale": "en-US",
          "max": 1000000,
          "min": 1000,
          "tooltip": "Enter the total contract value including taxes",
          "placeholder": "0.00"
        }
      },
      {
        "id": "param-2",
        "name": "startDate",
        "label": "Start Date",
        "type": "DATE",
        "isRequired": false,
        "isCalc": false,
        "isUnique": false,
        "advancedOptions": {
          "id": "adv-opt-2",
          "dateFormat": "dd/MM/yyyy",
          "tooltip": "Select the contract start date",
          "isHidden": false
        }
      },
      {
        "id": "param-3",
        "name": "description",
        "label": "Description",
        "type": "TEXTAREA",
        "isRequired": false,
        "isCalc": false,
        "isUnique": false,
        "advancedOptions": {
          "id": "adv-opt-3",
          "maxLength": 1000,
          "minLength": 10,
          "placeholder": "Enter detailed contract description...",
          "tooltip": "Provide a comprehensive description of the contract terms",
          "isHidden": false
        }
      }
    ]
  }
  ```

  ```json Update Parameters with Option Items theme={null}
  {
    "name": "Employee Entity",
    "parameters": [
      {
        "id": "param-1",
        "name": "department",
        "label": "Department",
        "type": "SELECT",
        "isRequired": true,
        "optionItems": [
          {
            "id": "opt-1",
            "label": "Human Resources",
            "value": "hr"
          },
          {
            "id": "opt-2",
            "label": "Finance",
            "value": "finance"
          },
          {
            "id": "opt-3",
            "label": "IT",
            "value": "it"
          },
          {
            "id": "opt-4",
            "label": "Marketing",
            "value": "marketing"
          }
        ]
      },
      {
        "id": "param-2",
        "name": "employmentType",
        "label": "Employment Type",
        "type": "RADIO",
        "isRequired": true,
        "optionItems": [
          {
            "id": "emp-1",
            "label": "Full-time",
            "value": "full-time"
          },
          {
            "id": "emp-2",
            "label": "Part-time",
            "value": "part-time"
          },
          {
            "id": "emp-3",
            "label": "Contract",
            "value": "contract"
          }
        ]
      }
    ]
  }
  ```

  ```json Update Parameters with Entity Relations theme={null}
  {
    "name": "Project Entity",
    "parameters": [
      {
        "id": "param-1",
        "name": "projectManager",
        "label": "Project Manager",
        "type": "ENTITY_RELATION",
        "isRequired": true,
        "entityId": "employee-entity-id",
        "entityRelationId": "manager-relation-id"
      },
      {
        "id": "param-2",
        "name": "client",
        "label": "Client",
        "type": "OUTGOING_RELATION",
        "isRequired": false,
        "entityId": "client-entity-id"
      }
    ]
  }
  ```

  ```json Clear View Permissions theme={null}
  {
    "name": "Public Entity",
    "viewPermission": []
  }
  ```
</CodeGroup>

## Example Request

<RequestExample>
  ```bash cURL theme={null}
  curl --request PATCH \
    --url "https://h3-api-gateway.dev.h3aven.com/v1/entities/{id}" \
    --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
    --header 'Content-Type: application/json' \
    --data '{
      "name": "Updated Employee Entity",
      "viewPermission": ["HR", "MANAGER"]
    }'
  ```
</RequestExample>

## Response

The endpoint returns a `204 No Content` status code on successful update, indicating the entity has been updated successfully without returning the updated data in the response body.
