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

# Zoho CRM: Contact Roles Update Role

> Rename or reorder one Zoho CRM contact role by its ID. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Rename or reorder one Zoho CRM contact role by its ID.

> [!NOTE]
>
> Tool ID: `zoho_crm_contact_roles_update_role`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'zoho_crm_contact_roles_update_role',
  {
    "role": "example",
    "contact_roles": [
      {
        "name": "Example",
        "id": "id_123"
      }
    ]
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute zoho_crm_contact_roles_update_role --input '{
  "role": "example",
  "contact_roles": [
    {
      "name": "Example",
      "id": "id_123"
    }
  ]
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "contact_roles": [
      {
        "code": "SUCCESS",
        "details": {
          "id": "id_123"
        },
        "message": "Example message",
        "status": "success"
      }
    ]
  }
}
```

Use `deepline describe zoho_crm_contact_roles_update_role --json` for the latest machine-readable contract.

## Input reference

Request body for updating a specific contact role

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.role` | `string` | Yes | — | The unique identifier of the contact role. Maximum length: 255. |
| `payload.contact_roles` | `array` | Yes | — | Array of contact roles to update Maximum items: 100. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Request body for updating a specific contact role",
    "properties": {
      "role": {
        "type": "string",
        "description": "The unique identifier of the contact role.",
        "maxLength": 255
      },
      "contact_roles": {
        "type": "array",
        "description": "Array of contact roles to update",
        "maxItems": 100,
        "items": {
          "type": "object",
          "description": "Contact role details",
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the contact role",
              "maxLength": 50,
              "pattern": "[A-Za-z0-9 ]"
            },
            "id": {
              "type": "string",
              "description": "Unique identifier for the contact role",
              "maxLength": 19
            },
            "sequence_number": {
              "type": "integer",
              "description": "Sequence number for ordering",
              "format": "int32"
            }
          },
          "required": [
            "name",
            "id"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "role",
      "contact_roles"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Response object for successful role update operation. |
| `result.data.contact_roles` | `array` | Yes | — | Array of contact role update results Maximum items: 100. |
| `result.data.contact_roles[].code` | `"SUCCESS"` | Yes | — | Operation status code. Allowed: `SUCCESS`. |
| `result.data.contact_roles[].details` | `object` | Yes | — | Details of the updated contact role. |
| `result.data.contact_roles[].details.id` | `string` | Yes | — | Unique identifier of the updated contact role. Maximum length: 19. |
| `result.data.contact_roles[].message` | `string` | Yes | — | Descriptive message for the operation. Maximum length: 255. |
| `result.data.contact_roles[].status` | `"success"` | Yes | — | Operation status. Allowed: `success`. |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Response object for successful role update operation.",
        "properties": {
          "contact_roles": {
            "type": "array",
            "description": "Array of contact role update results",
            "maxItems": 100,
            "items": {
              "type": "object",
              "description": "Contact role update result details.",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Operation status code.",
                  "enum": [
                    "SUCCESS"
                  ]
                },
                "details": {
                  "type": "object",
                  "description": "Details of the updated contact role.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique identifier of the updated contact role.",
                      "maxLength": 19
                    }
                  },
                  "required": [
                    "id"
                  ],
                  "additionalProperties": false
                },
                "message": {
                  "type": "string",
                  "description": "Descriptive message for the operation.",
                  "maxLength": 255
                },
                "status": {
                  "type": "string",
                  "description": "Operation status.",
                  "enum": [
                    "success"
                  ]
                }
              },
              "required": [
                "code",
                "details",
                "message",
                "status"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "contact_roles"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.