> ## 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: Composite Requests Composite

> Run several Zoho CRM API requests in one call, optionally rolling all back if one fails. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

Run several Zoho CRM API requests in one call, optionally rolling all back if one fails.

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

## Run this action

This action has conditional or dynamic inputs. A static example cannot describe these inputs reliably.

Read the live contract before you execute this action:

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline describe zoho_crm_composite_requests_composite --json
```

## Example response

The static output schema lacks the details for a reliable example. Use `deepline describe zoho_crm_composite_requests_composite --json` for the complete live contract.

## Input reference

Request body for composite API operations

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.rollback_on_fail` | `boolean` | No | — | Whether to rollback all operations if any sub-request fails. Default is false. Cannot be true when parallel\_execution is true |
| `payload.parallel_execution` | `boolean` | No | — | Whether to execute sub-requests concurrently. Default is true. Cannot be true when rollback\_on\_fail is true |
| `payload.__composite_requests` | `array` | Yes | — | Array of individual API requests to be executed Maximum items: 5. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Request body for composite API operations",
    "properties": {
      "rollback_on_fail": {
        "type": "boolean",
        "description": "Whether to rollback all operations if any sub-request fails. Default is false. Cannot be true when parallel_execution is true"
      },
      "parallel_execution": {
        "type": "boolean",
        "description": "Whether to execute sub-requests concurrently. Default is true. Cannot be true when rollback_on_fail is true"
      },
      "__composite_requests": {
        "type": "array",
        "description": "Array of individual API requests to be executed",
        "maxItems": 5,
        "items": {
          "type": "object",
          "description": "Individual API request configuration",
          "properties": {
            "method": {
              "type": "string",
              "description": "HTTP method for the request",
              "enum": [
                "GET",
                "POST",
                "PUT",
                "DELETE",
                "PATCH"
              ]
            },
            "uri": {
              "type": "string",
              "description": "URI path for the API request",
              "maxLength": 2048,
              "pattern": "/crm(/.*)?/v[0-9]+([.][0-9]+)?/.*"
            },
            "sub_request_id": {
              "type": "string",
              "description": "Unique identifier for the sub-request",
              "maxLength": 100,
              "pattern": "[a-zA-Z0-9][a-zA-Z0-9_]*"
            },
            "headers": {
              "type": "object",
              "description": "HTTP headers for the request",
              "additionalProperties": true
            },
            "params": {
              "type": "object",
              "description": "Query parameters for the request",
              "additionalProperties": true
            },
            "body": {
              "type": "object",
              "description": "Request body data",
              "additionalProperties": true
            }
          },
          "required": [
            "method",
            "uri"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "__composite_requests"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Response object containing successful composite request results |
| `result.data.__composite_requests` | `array` | Yes | — | Array of individual request responses Maximum items: 5. |
| `result.data.__composite_requests[].code` | `"SUCCESS"` | Yes | — | Response code indicating success Allowed: `SUCCESS`. |
| `result.data.__composite_requests[].message` | `string` | Yes | — | Response message Maximum length: 1000. |
| `result.data.__composite_requests[].status` | `"success"` | Yes | — | Response status Allowed: `success`. |
| `result.data.__composite_requests[].details` | `object` | Yes | — | Detailed response information |
| `result.data.__composite_requests[].details.response` | `object` | Yes | — | HTTP response details |
| `result.data.__composite_requests[].details.response.headers` | `record` | Yes | — | Response headers |
| `result.data.__composite_requests[].details.response.body` | `record` | Yes | — | Response body |
| `result.data.__composite_requests[].details.response.status_code` | `integer` | Yes | — | HTTP status code Format: `int32`. |
| `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 containing successful composite request results",
        "properties": {
          "__composite_requests": {
            "type": "array",
            "description": "Array of individual request responses",
            "maxItems": 5,
            "items": {
              "type": "object",
              "description": "Individual request response object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Response code indicating success",
                  "enum": [
                    "SUCCESS"
                  ]
                },
                "message": {
                  "type": "string",
                  "description": "Response message",
                  "maxLength": 1000
                },
                "status": {
                  "type": "string",
                  "description": "Response status",
                  "enum": [
                    "success"
                  ]
                },
                "details": {
                  "type": "object",
                  "description": "Detailed response information",
                  "properties": {
                    "response": {
                      "type": "object",
                      "description": "HTTP response details",
                      "properties": {
                        "headers": {
                          "type": "object",
                          "description": "Response headers",
                          "additionalProperties": true
                        },
                        "body": {
                          "type": "object",
                          "description": "Response body",
                          "additionalProperties": true
                        },
                        "status_code": {
                          "type": "integer",
                          "description": "HTTP status code",
                          "format": "int32"
                        }
                      },
                      "required": [
                        "headers",
                        "body",
                        "status_code"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "response"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "code",
                "message",
                "status",
                "details"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "__composite_requests"
        ],
        "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.