{
  "info": {
    "name": "CCIP directory and configuration REST API (v1)",
    "description": "**Deprecation:** This CCIP Directory and configuration REST API (v1) is **planned for deprecation soon**; see https://docs.chain.link/ccip/tools/ for timelines and migration. Prefer CCIP Tools REST API (v2) for new work where applicable.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Success Cases",
      "item": [
        {
          "name": "Get All Chains (Mainnet)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet",
                  "description": "Network environment (mainnet/testnet)"
                }
              ]
            },
            "description": "Retrieve all available CCIP chains for mainnet environment"
          }
        },
        {
          "name": "Get All Chains (Testnet)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=testnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "testnet",
                  "description": "Network environment (mainnet/testnet)"
                }
              ]
            },
            "description": "Retrieve all available CCIP chains for testnet environment"
          }
        },
        {
          "name": "Get Chain by ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&chainId=1",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "chainId",
                  "value": "1",
                  "description": "Chain ID (e.g., 1 for Ethereum)"
                }
              ]
            },
            "description": "Retrieve chain information by its chain ID (EVM chain example)"
          }
        },
        {
          "name": "Get Solana Chain by ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=testnet&chainId=solana-devnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "testnet"
                },
                {
                  "key": "chainId",
                  "value": "solana-devnet",
                  "description": "Chain ID for Solana Devnet"
                }
              ]
            },
            "description": "Retrieve chain information for a Solana chain by its string chain ID"
          }
        },
        {
          "name": "Get Chains by Selector",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&selector=5009297550715157269",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "selector",
                  "value": "5009297550715157269",
                  "description": "CCIP chain selector"
                }
              ]
            },
            "description": "Retrieve chain information by its CCIP selector (EVM chain example)"
          }
        },
        {
          "name": "Get Solana Chain by Selector",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=testnet&selector=16015286601757825753",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "testnet"
                },
                {
                  "key": "selector",
                  "value": "16015286601757825753",
                  "description": "CCIP chain selector for Solana"
                }
              ]
            },
            "description": "Retrieve Solana chain information by its CCIP selector"
          }
        },
        {
          "name": "Get Chain by Internal ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&internalId=ethereum-mainnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "internalId",
                  "value": "ethereum-mainnet",
                  "description": "Internal chain identifier"
                }
              ]
            },
            "description": "Retrieve chain information by its internal identifier (EVM chain example)"
          }
        },
        {
          "name": "Get Solana Chain by Internal ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=testnet&internalId=solana-devnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "testnet"
                },
                {
                  "key": "internalId",
                  "value": "solana-devnet",
                  "description": "Internal chain identifier for Solana"
                }
              ]
            },
            "description": "Retrieve Solana chain information by its internal identifier"
          }
        },
        {
          "name": "Get Chains with Selector Output Key",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&outputKey=selector",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "outputKey",
                  "value": "selector",
                  "description": "Organize response by selector"
                }
              ]
            },
            "description": "Retrieve chains with response organized by selector"
          }
        },
        {
          "name": "Get Chains with Internal ID Output Key",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&outputKey=internalId",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "outputKey",
                  "value": "internalId",
                  "description": "Organize response by internal ID"
                }
              ]
            },
            "description": "Retrieve chains with response organized by internal ID"
          }
        },
        {
          "name": "Get Multiple Chains by ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&chainId=1,56",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "chainId",
                  "value": "1,56",
                  "description": "Multiple chain IDs (Ethereum and BSC)"
                }
              ]
            },
            "description": "Retrieve chain information for multiple EVM chains using comma-separated chain IDs"
          }
        },
        {
          "name": "Get Mixed Chain Types",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=testnet&chainId=11155111,solana-devnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "testnet"
                },
                {
                  "key": "chainId",
                  "value": "11155111,solana-devnet",
                  "description": "Mixed chain types (Sepolia and Solana)"
                }
              ]
            },
            "description": "Retrieve chain information for multiple chains of different types"
          }
        },
        {
          "name": "Get Multiple Chains by Internal ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&internalId=ethereum-mainnet,bsc-mainnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "internalId",
                  "value": "ethereum-mainnet,bsc-mainnet",
                  "description": "Multiple internal IDs"
                }
              ]
            },
            "description": "Retrieve chain information for multiple chains using comma-separated internal IDs"
          }
        },
        {
          "name": "Get Multiple Chains by Selector",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&selector=5009297550715157269,13264668187771770619",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "selector",
                  "value": "5009297550715157269,13264668187771770619",
                  "description": "Multiple CCIP chain selectors"
                }
              ]
            },
            "description": "Retrieve chain information for multiple chains using comma-separated selectors"
          }
        },
        {
          "name": "Get Chain with Fee Tokens (Default - String Array)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&chainId=1&enrichFeeTokens=false",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "chainId",
                  "value": "1",
                  "description": "Chain ID for Ethereum"
                },
                {
                  "key": "enrichFeeTokens",
                  "value": "false",
                  "description": "Return fee tokens as string array (default behavior)"
                }
              ]
            },
            "description": "Retrieve chain information with fee tokens returned as a simple string array (backward compatible format)"
          }
        },
        {
          "name": "Get Chain with Enriched Fee Tokens",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&chainId=1&enrichFeeTokens=true",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "chainId",
                  "value": "1",
                  "description": "Chain ID for Ethereum"
                },
                {
                  "key": "enrichFeeTokens",
                  "value": "true",
                  "description": "Return detailed fee token information including addresses, names, and decimals"
                }
              ]
            },
            "description": "Retrieve chain information with enriched fee token details including contract addresses, token names, and decimal places"
          }
        }
      ]
    },
    {
      "name": "Lanes",
      "item": [
        {
          "name": "Get All Lanes (Mainnet)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet",
                  "description": "Network environment (mainnet/testnet)"
                }
              ]
            },
            "description": "Retrieve all available CCIP lanes for mainnet environment"
          }
        },
        {
          "name": "Get All Lanes (Testnet)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=testnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "testnet",
                  "description": "Network environment (mainnet/testnet)"
                }
              ]
            },
            "description": "Retrieve all available CCIP lanes for testnet environment"
          }
        },
        {
          "name": "Get Lanes by Source Chain ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&sourceChainId=1",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "sourceChainId",
                  "value": "1",
                  "description": "Source chain ID (e.g., 1 for Ethereum)"
                }
              ]
            },
            "description": "Retrieve lanes where the source chain matches the specified chain ID"
          }
        },
        {
          "name": "Get Lanes by Destination Chain ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&destinationChainId=56",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "destinationChainId",
                  "value": "56",
                  "description": "Destination chain ID (e.g., 56 for BSC)"
                }
              ]
            },
            "description": "Retrieve lanes where the destination chain matches the specified chain ID"
          }
        },
        {
          "name": "Get Lanes by Source and Destination Chain IDs",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&sourceChainId=1&destinationChainId=56",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "sourceChainId",
                  "value": "1",
                  "description": "Source chain ID (Ethereum)"
                },
                {
                  "key": "destinationChainId",
                  "value": "56",
                  "description": "Destination chain ID (BSC)"
                }
              ]
            },
            "description": "Retrieve specific lane between Ethereum and BSC"
          }
        },
        {
          "name": "Get Lanes by Source Selector",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&sourceSelector=5009297550715157269",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "sourceSelector",
                  "value": "5009297550715157269",
                  "description": "CCIP source chain selector"
                }
              ]
            },
            "description": "Retrieve lanes by source chain CCIP selector"
          }
        },
        {
          "name": "Get Lanes by Destination Selector",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&destinationSelector=13264668187771770619",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "destinationSelector",
                  "value": "13264668187771770619",
                  "description": "CCIP destination chain selector"
                }
              ]
            },
            "description": "Retrieve lanes by destination chain CCIP selector"
          }
        },
        {
          "name": "Get Lanes by Source Internal ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&sourceInternalId=ethereum-mainnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "sourceInternalId",
                  "value": "ethereum-mainnet",
                  "description": "Source chain internal identifier"
                }
              ]
            },
            "description": "Retrieve lanes by source chain internal ID"
          }
        },
        {
          "name": "Get Lanes by Destination Internal ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&destinationInternalId=bsc-mainnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "destinationInternalId",
                  "value": "bsc-mainnet",
                  "description": "Destination chain internal identifier"
                }
              ]
            },
            "description": "Retrieve lanes by destination chain internal ID"
          }
        },
        {
          "name": "Get Multiple Source Chains",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&sourceChainId=1,56",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "sourceChainId",
                  "value": "1,56",
                  "description": "Multiple source chain IDs (Ethereum and BSC)"
                }
              ]
            },
            "description": "Retrieve lanes from multiple source chains using comma-separated chain IDs"
          }
        },
        {
          "name": "Get Solana Lanes (Testnet)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=testnet&sourceChainId=solana-devnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "testnet"
                },
                {
                  "key": "sourceChainId",
                  "value": "solana-devnet",
                  "description": "Solana Devnet chain ID"
                }
              ]
            },
            "description": "Retrieve lanes originating from Solana Devnet"
          }
        },
        {
          "name": "Get Lanes with Selector Output Key",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&outputKey=selector",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "outputKey",
                  "value": "selector",
                  "description": "Organize response by selector (format: sourceSelector_to_destinationSelector)"
                }
              ]
            },
            "description": "Retrieve lanes with response organized by CCIP selectors"
          }
        },
        {
          "name": "Get Lanes by Version",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&version=1.6.0",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "version",
                  "value": "1.6.0",
                  "description": "Filter by lane version (both onRamp and offRamp must match)"
                }
              ]
            },
            "description": "Retrieve lanes filtered by specific version. Only returns lanes where both onRamp and offRamp versions match the specified value."
          }
        },
        {
          "name": "Get Lanes with Internal ID Output Key",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&outputKey=internalId",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "outputKey",
                  "value": "internalId",
                  "description": "Organize response by internal ID (format: sourceInternalId_to_destinationInternalId)"
                }
              ]
            },
            "description": "Retrieve lanes with response organized by internal IDs"
          }
        }
      ]
    },
    {
      "name": "Chain Type Examples",
      "item": [
        {
          "name": "Get All EVM Chains",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                }
              ]
            },
            "description": "Retrieve all EVM chains by filtering results client-side from the full response"
          }
        },
        {
          "name": "Get All Solana Chains",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=testnet",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "testnet"
                }
              ]
            },
            "description": "Retrieve all Solana chains by filtering results client-side from the full response"
          }
        }
      ]
    },
    {
      "name": "Error Cases",
      "item": [
        {
          "name": "Invalid Environment",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=invalid",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "invalid",
                  "description": "Invalid environment value"
                }
              ]
            },
            "description": "Test error handling for invalid environment"
          }
        },
        {
          "name": "Multiple Filters",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&chainId=1&selector=5009297550715157269",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "chainId",
                  "value": "1"
                },
                {
                  "key": "selector",
                  "value": "5009297550715157269",
                  "description": "Multiple filters are not allowed"
                }
              ]
            },
            "description": "Test error handling for multiple filters"
          }
        },
        {
          "name": "Invalid Output Key",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/chains?environment=mainnet&outputKey=invalid",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "chains"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "outputKey",
                  "value": "invalid",
                  "description": "Invalid output key value"
                }
              ]
            },
            "description": "Test error handling for invalid output key"
          }
        },
        {
          "name": "Lanes - Invalid Environment",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=invalid",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "invalid",
                  "description": "Invalid environment value"
                }
              ]
            },
            "description": "Test lanes error handling for invalid environment"
          }
        },
        {
          "name": "Lanes - Invalid Filter Value",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&sourceChainId=",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "sourceChainId",
                  "value": "",
                  "description": "Empty filter value should cause validation error"
                }
              ]
            },
            "description": "Test lanes error handling for empty filter values"
          }
        },
        {
          "name": "Lanes - Invalid Output Key",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/ccip/v1/lanes?environment=mainnet&outputKey=invalid",
              "host": ["{{baseUrl}}"],
              "path": ["api", "ccip", "v1", "lanes"],
              "query": [
                {
                  "key": "environment",
                  "value": "mainnet"
                },
                {
                  "key": "outputKey",
                  "value": "invalid",
                  "description": "Invalid output key value"
                }
              ]
            },
            "description": "Test lanes error handling for invalid output key"
          }
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://docs.chain.link",
      "type": "string"
    }
  ]
}
