Postman Collection
You can find here an entire postman collection with different types of queries for reference. You can download the collection and import it into your postman application.
cURL
To start, let’s make a request via cURL to query data from Athina AI GraphQL API.
Fetching Data from the API
# Replace <ATHINA_API_KEY> with your athina api key obtained from the dashboard
curl --location 'https://api.athina.ai/graphql' \
--header 'Content-Type: application/json' \
--header 'athina-api-key: <ATHINA_API_KEY>' \
--data '{
"query": "query GetPromptRuns($limit: Int!) { getPromptRunsByFilters(limit: $limit) { id org_id prompt_slug language_model_id prompt_response prompt_tokens}}",
"variables": {
"limit": 2,
"page": 0
}
}'
Node.js
Prerequisites
To use the Athina AI GraphQL API in Node.js, make sure that you have the request library installed. You can install these packages with the following commands:
Fetching Data from the API
Here’s an example of how to query the Athina AI GraphQL API using Node.js:
var request = require('request');
// Replace <ATHINA_API_KEY> with your athina api key obtained from the dashboard
var options = {
'method': 'POST',
'url': 'https://api.athina.ai/graphql',
'headers': {
'Content-Type': 'application/json',
'athina-api-key': '<ATHINA_API_KEY>'
},
body: JSON.stringify({
"query": "query GetPromptRuns($limit: Int!) { getPromptRunsByFilters(limit: $limit) { id org_id prompt_slug language_model_id prompt_response prompt_tokens}}",
"variables": {
"limit": 2,
"page": 0
}
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
Python
Note: The python example uses the gql and aiohttp libraries to communicate with the API. You can alternatively use just requests library to communicate with the API directly as well.
Prerequisites
To use the Athina AI GraphQL API, make sure that you have the gql and aiohttp libraries installed in your Python environment. You can install these packages with the following commands:
pip install gql
pip install aiohttp
Setting up a GraphQL Client
Here’s how to setup a GraphQL client to communicate with the Athina GraphQL API:
from gql.transport.aiohttp import AIOHTTPTransport
from gql import gql, Client
url = "https://api.athina.ai/graphql"
# Replace <ATHINA_API_KEY> with your athina api key obtained from the dashboard
transport = AIOHTTPTransport(url=url, headers={
"athina-api-key": "<ATHINA_API_KEY>"
})
client = Client(transport=transport, fetch_schema_from_transport=True)
In this code:
url is the endpoint of the Athina AI GraphQL API.
AIOHTTPTransport establishes the connection to the API endpoint.
Client is a GraphQL client that communicates with the API using the provided transport.
Fetching Data from the API
Here’s how to fetch data from the Athina AI API using GraphQL:
SIZE = 5
query = gql(
"""
query GetPromptRuns($limit: Int!, $page: Int!) {
getPromptRunsByFilters(limit: $limit, page: $page) {
id
org_id
prompt_slug
language_model_id
prompt_response
prompt_tokens
}
}
"""
)
result = client.execute(query,
variable_values={
"limit": SIZE,
"page": 0
}
)
print(len(result["getPromptRunsByFilters"]))
print(result)
In this code:
SIZE is the number of records fetched per request.
gql parses the GraphQL query.
client.execute runs the query and returns the result. The variable_values parameter is used to set the limit and page in the GraphQL query.
The response contains a list of PromptRun objects. Each PromptRun object contains the following fields: id, org_id, prompt_slug, language_model_id, prompt_response, and prompt_tokens.