Steps for getting started with Codex.
1. Get your API key ✨
Go to the Codex Dashboard and sign up for an API account.
2. Run your first query
Option 1: Use the SDK (recommended)
Install the SDK to start developing develop on top of the Codex API.
The SDK provides several integration examples as well as the public schema definition language (SDL). You can use graphql-codegen to generate types and queries.
Option 2: Use the language of your choice
Replace <MY_KEY> with your new API key.
curl \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization:<MY_KEY>" -d '{ "query": "{ getNetworks { name, id } }"}' \
https://graph.codex.io/graphqlimport axios from "axios";
axios
.post(
"https://graph.codex.io/graphql",
{
query: `{
getNetworks {
name
id
}
}`
},{
headers: {
"Content-Type": "application/json",
"Authorization": "<MY_KEY>"
}
}
)
.then((response) => {
console.log(response.data);
});
import requests
import json
url = "https://graph.codex.io/graphql"
headers = {
"content_type":"application/json",
"Authorization": "<MY_KEY>"
}
getNetworks = """query GetNetworksQuery { getNetworks { name id } }"""
response = requests.post(url, headers=headers, json={"query": getNetworks})
print(json.loads(response.text))<?php
$url = "https://graph.codex.io/graphql";
$query = array(
'query' => '{
getNetworks {
name
id
}
}'
);
$headers = array(
'Content-Type: application/json',
'Authorization: ' . "<MY_KEY>"
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($query));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"bytes"
"fmt"
"net/http"
"io/ioutil"
"encoding/json"
)
func main() {
url := "https://graph.codex.io/graphql"
apiKey := "<MY_KEY>"
query := `query GetNetworksQuery { getNetworks { name id } }`
payload := map[string]string{"query": query}
payloadBytes, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payloadBytes))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", apiKey)
client := &http.Client{}
res, _ := client.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
var response map[string]interface{}
json.Unmarshal(body, &response)
fmt.Println(response)
}
require 'net/http'
require 'json'
uri = URI('https://graph.codex.io/graphql')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
headers = {
'Content-Type' => 'application/json',
'Authorization' => '<MY_KEY>'
}
query = {
query: '{
getNetworks {
name
id
}
}'
}
request = Net::HTTP::Post.new(uri.path, headers)
request.body = query.to_json
response = http.request(request)
puts response.bodyYour key must be included as Authorization in the header of every request.
Make sure to keep your API key private and secure.
3. Start building
- Examples: Visit the quickstart page in each section for ideas and help integrating your app. Note that most sections in the docs have a websockets grouping if you would like to use real-time, streaming data.
- Explorer: Check out the 🧭 Explorer if you'd like to scope out the API and run some queries right now.
- Codex API endpoints used by Defined: If you'd like to see what endpoints powers each feature on Defined Trading Terminal, visit the app, go to
General Settingsand enable theShow Codex API endpointssetting to overlay red indicator dots on the UI.
Ask questions, share what you're working on and request new features 👬👭