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

# REST API

> Tenderly REST API endpoints के लिए reference जो single-network और multi-network environments सहित Virtual Environments बनाते और प्रबंधित करते हैं।

Tenderly REST API Virtual Environments बनाने, list करने, और प्रबंधित करने के लिए endpoints उजागर करता है। script से इन्हें कैसे कॉल करें, इसके walkthrough के लिए, देखें [API के माध्यम से Virtual Environments बनाएं](/virtual-environments/develop/create-virtual-environment-via-api)। पूर्ण API surface के लिए, देखें [API Reference](/api-reference)।

सभी environment endpoints base URL का उपयोग करते हैं:

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
https://api.tenderly.co/api/public/v1/account/{accountSlug}/project/{projectSlug}
```

## Authentication

सभी requests के लिए एक `X-Access-Key` header की आवश्यकता होती है। Tenderly Dashboard में **Account Settings → Authorization** से एक key उत्पन्न करें। देखें [API tokens](/platform/account/projects/api-tokens)।

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
X-Access-Key: <your-access-key>
```

## एक environment बनाएं

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
POST /environments
```

एक या अधिक networks के साथ एक नया environment बनाता है। Single-network और multi-network दोनों environments इस endpoint का उपयोग करते हैं, single-network environment के लिए `network_configs` में एक entry पास करें, या multi-network के लिए कई entries।

### Request body

| Field                                                       | प्रकार  | आवश्यक | विवरण                                                                                       |
| ----------------------------------------------------------- | ------- | ------ | ------------------------------------------------------------------------------------------- |
| `display_name`                                              | string  | हाँ    | dashboard में दिखाया जाने वाला Human-readable नाम।                                          |
| `slug`                                                      | string  | नहीं   | URL-safe identifier। यदि छोड़ा गया हो तो `display_name` से Auto-generated।                  |
| `network_configs`                                           | array   | हाँ    | environment में प्रत्येक network के लिए एक entry।                                           |
| `network_configs[].network_id`                              | string  | हाँ    | fork करने के लिए network का Chain ID (जैसे Ethereum के लिए `"1"`)।                          |
| `network_configs[].block_number`                            | string  | नहीं   | hex में Fork point। latest block पर डिफ़ॉल्ट होता है।                                       |
| `network_configs[].chain_config_overrides.chain_id`         | string  | नहीं   | इस Virtual Environment को assigned chain ID को Override करें।                               |
| `network_configs[].explorer_config.enabled`                 | boolean | नहीं   | एक [public explorer page](/virtual-environments/explorer#public-explorer) उजागर करें।       |
| `network_configs[].explorer_config.verification_visibility` | string  | नहीं   | `"bytecode"`, `"abi"`, या `"source"`।                                                       |
| `network_configs[].accounts`                                | array   | नहीं   | Pre-funded accounts. प्रत्येक entry में `address` और `balance` (Wei, hex-encoded) होते हैं। |
| `bridge_config.enabled`                                     | boolean | नहीं   | इस environment में networks के बीच cross-chain bridging सक्षम करें।                         |
| `bridge_config.relay_mode`                                  | string  | नहीं   | `"autoRelay"` (डिफ़ॉल्ट) या `"delayedRelay"`।                                               |
| `bridge_config.delay_seconds`                               | integer | नहीं   | `"delayedRelay"` का उपयोग करते समय Relay delay सेकंड में।                                   |

### Single-network example

```json title="request.json" theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
{
  "display_name": "Staging Mainnet",
  "slug": "staging-mainnet",
  "network_configs": [
    {
      "network_id": "1",
      "block_number": "latest",
      "chain_config_overrides": { "chain_id": "73571" },
      "explorer_config": { "enabled": false, "verification_visibility": "bytecode" }
    }
  ]
}
```

### Multi-network example

```json title="request.json" theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
{
  "display_name": "Cross-chain Staging",
  "network_configs": [
    {
      "network_id": "1",
      "block_number": "latest",
      "chain_config_overrides": { "chain_id": "1" }
    },
    {
      "network_id": "42161",
      "block_number": "latest",
      "chain_config_overrides": { "chain_id": "42161" }
    },
    {
      "network_id": "8453",
      "block_number": "latest",
      "chain_config_overrides": { "chain_id": "8453" }
    }
  ],
  "bridge_config": { "enabled": true, "relay_mode": "autoRelay" }
}
```

### Response

बनाए गए environment object को लौटाता है। `active_instance.vnets` array में प्रति network एक entry होती है, प्रत्येक अपने RPC endpoints के साथ।

```json title="response.json" theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
{
  "id": "d998eea3-139d-4477-9de2-42f7739362f0",
  "display_name": "Staging Mainnet",
  "slug": "staging-mainnet",
  "created_at": "2026-06-08T10:00:00.000Z",
  "networks": [
    {
      "id": "a1b2c3d4-...",
      "network_id": "1",
      "network_name": "Ethereum Mainnet",
      "block_number": "0x168a5c6"
    }
  ],
  "active_instance": {
    "id": "e5f6a7b8-...",
    "vnets": [
      {
        "id": "f9e8d7c6-...",
        "display_name": "Staging Mainnet",
        "slug": "staging-mainnet",
        "status": "running",
        "rpcs": [
          { "name": "Admin RPC", "url": "https://virtual.mainnet.rpc.tenderly.co/..." },
          { "name": "Public RPC", "url": "https://virtual.mainnet.rpc.tenderly.co/..." }
        ],
        "fork_config": { "network_id": 1, "block_number": "0x168a5c6" }
      }
    ]
  }
}
```

प्रत्येक entry पर `rpcs` array में Admin RPC (पूर्ण [चीटकोड](/virtual-environments/admin-rpc) पहुँच) और Public RPC (मानक JSON-RPC) होते हैं।

## environments list करें

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
GET /environments
```

Project के लिए सभी environments लौटाता है।

## एक environment प्राप्त करें

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
GET /environments/{environmentId}
```

ID द्वारा एक single environment लौटाता है, इसके `active_instance` और RPC endpoints सहित।

## एक environment हटाएँ

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
DELETE /environments/{environmentId}
```

एक single environment को स्थायी रूप से हटाता है। `204 No Content` लौटाता है।

## environments को Batch delete करें

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
DELETE /environments
```

एक call में कई environments को स्थायी रूप से हटाता है। request body में IDs पास करें।

## transactions list करें

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
GET /environments/{environmentId}/instance/{instanceId}/transactions
```

एक environment instance में सभी Virtual Environments में transactions लौटाता है। Pagination और status, category, kind, और from/to address द्वारा वैकल्पिक filters का समर्थन करता है।

## एक transaction प्राप्त करें

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
GET /environments/{environmentId}/instance/{instanceId}/transactions/{txHash}
```

Transaction hash द्वारा एक environment instance से एक single transaction लौटाता है।

## एक transaction भेजें

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
POST /environments/{environmentId}/instance/{instanceId}/vnet/{vnetId}/transactions
```

एक environment instance के भीतर एक विशिष्ट Virtual Environment पर एक transaction execute करता है। State संरक्षित है।

## एक transaction Simulate करें

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
POST /environments/{environmentId}/instance/{instanceId}/vnet/{vnetId}/transactions/simulate
```

state को संरक्षित किए बिना एक transaction को simulate करता है। block overrides, state overrides, और एक custom block number का समर्थन करता है। एक विस्तृत simulation परिणाम लौटाता है जिसमें call trace, state changes, और emitted events शामिल हैं।

## यह भी देखें

* [API के माध्यम से Virtual Environments बनाएं](/virtual-environments/develop/create-virtual-environment-via-api), पूर्ण scripted walkthrough
* [Admin RPC reference](/virtual-environments/admin-rpc), Admin RPC पर उपलब्ध चीटकोड्स
* [API Reference](/api-reference), पूर्ण Tenderly API surface
