Routing Graph QL API 
The Routing Graph QL schema offers queries and mutations to generate routes and the subsequent transaction(s) hex data necessary to accomplish them, to be signed and broadcast on chain.
Additionally, "helper" queries are available to get information about available chains and tokens to swap from or to.
Routing schema 
In this section, we present the Graph QL schema upon which the routing API is built. The schema gives the full picture of what data can be queried with what parameters. Here's a list of publicly available queries (root view):
type RoutingTypeV2 {
  tokenV2(id: String!): RoutingTokenTypeV2!
  tokensV2(names: [String!] = null, tokenIds: [String!] = null): [RoutingTokenTypeV2!]!
  bridgeableTokens(bridgeToken: BridgeTokenInput = null, tokenId: String = null): [RoutingTokenTypeV2!]!
  routeV2(srcToken: String!, destToken: String!, amountSource: String, slippage: String!, addresses: [AddressRouteInputTypeV2!]!, destAddress: String!, infiniteApproval: Boolean, referral: ReferralInputType): RouteTypeV2!
  chainsV2: [RoutingChainTypeV2!]!
  chainV2(name: String!): RoutingChainTypeV2!
  tradeV2(tradeId: String!): RouteTransactionTradeTypeV2!
  tradesV2(routeId: String!): [RouteTransactionTradeTypeV2!]!
  addressCheckV2(address: AddressRouteInputTypeV2!): AddressRouteCheckTypeV2!
  referrerSummary: ReferralFeeSummary!
  dailyVolume(startDate: String! = "2023-01-10"): [VolumeHistory!]
}INFO
- tokenV2and- tokensV2queries fetch information about specific token(s) given an- idor a `name (list of names)
- chainV2and- chainsV2fetch info about a given chain or all available chains and assets available in them
- bridgeableTokensfetches a list of chains' assets one can bridge to given an input token belonging to a source chain
- addressCheckV2will verify the address belonging to a given chain is correct
- referrerSummarywill return referral data if the requester is part of the programme
- dailyVolumereturns daily volumes of swaps facilitated through XDEFI's Routing API
- routeV2finds the best route to swap from- srcTokento- destToken
- tradeV2and `tradesV2 will fetch trade(s) associated to a given ID
In addition to the above read-only operations, mutations are made available to add new routes and trades, and alter transactions statuses.
type Mutation {
  transactionsV2(routeData: RouteInputTypeV2!): PostRouteTypeV2!
  transactionHashV2(routeId: String!, tradeId: String!, transactionHash: String!): String!
  claimFees: ClaimStatus
}INFO
- transactionsV2generates trade and route records in the database
- transactionHashV2generates trade status and route status records in the database
- claimFeesgenerates a fee claim request (if you're part of the referral programme)
Querying the Graph QL endpoint 
This endpoint is similar to the ones discussed earlier but needs extra parameters, and sometimes a header with authentication token, to perform certain read/write operations (queries vs. mutations).
Querying this endpoint to fetch the list of tokens/chains one can bridge to from ETH.USDC would look like this in JavaScript:
const GRAPHQL_ENDPOINT = "https://gql-router.staging.xdefi.services/graphql";
const query = `
  query BridgeableTokens($bridgeToken: BridgeTokenInput) {
    routingV2 {
      bridgeableTokens(bridgeToken: $bridgeToken) {
        asset {
          id
          chain
          name
        }
      }
    }
  }
`;
const vars = {
  bridgeToken: {
    address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    name: "ETH.USDC",
  },
};
async function fetchBridgeableTokens() {
  await fetch(GRAPHQL_ENDPOINT, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      query,
      variables: vars,
    }),
  })
    .then((response) => response.json())
    .then((result) => {
      console.log(result);
    });
}
fetchBridgeableTokens();{
  bridgeToken: {
    address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    name: "ETH.USDC",
  },
}A comprehensive routing example, from requesting a route to getting transaction data, is shown in the Overview section.