GraphQL API Example Queries
This page contains some example queries that you can run directly into the embedded playground on the previous page.
Atom Queries
There are two primary queries available for retrieving Atom
data:
GetAtoms
: Retrieves a collection of atoms based on specified filters and parametersGetAtom
: Fetches a single atom by its unique identifier (id
)
These Atom
queries are foundational and are used in more complex queries to retrieve data from the Intuition protocol.
GetAtoms
query GetAtoms(
$limit: Int
$offset: Int
$orderBy: [atoms_order_by!]
$where: atoms_bool_exp
) {
atoms(limit: $limit, offset: $offset, order_by: $orderBy, where: $where) {
# AtomMetadata fields
data
id
image
label
emoji
type
# AtomTxn fields
blockNumber
blockTimestamp
transactionHash
creatorId
# AtomVaultDetails fields
vaultId
walletId
vault {
positionCount
totalShares
currentSharePrice
}
# Creator fields
creator {
id
address
username
created_at
updated_at
}
}
}
Interact with this query in Apollo Sandbox
GetAtom
query GetAtom(
$atomId: numeric!
) {
atom(id: $atomId) {
# AtomMetadata fields
id
image
label
emoji
type
# AtomTxn fields
blockNumber
blockTimestamp
transactionHash
creatorId
# AtomVaultDetails fields
vaultId
walletId
vault {
positionCount
totalShares
currentSharePrice
}
# Creator fields
creator {
id
label
image
}
}
}
# Variables
{
"atomId": "2"
}
Interact with this query in Apollo Sandbox
Account Queries
There are two primary queries available for retrieving Account
data:
GetAccounts
: Retrieves a collection of atoms based on specified filters and parametersGetAccount
: Fetches a single atom by its unique identifier (address
)
GetAccounts
query GetAccounts {
accounts {
# AccountMetadata fields
label
image
id
atomId
type
# AccountClaims fields
claims(order_by: { shares: desc }) {
triple {
id
label
}
shares
counterShares
}
# AccountPositions fields
positions_aggregate(order_by: { shares: desc }) {
nodes {
id
shares
vault {
id
totalShares
currentSharePrice
atom {
id
label
}
triple {
id
label
}
}
}
}
}
}
Interact with this query in Apollo Sandbox
GetAccount
query GetAccount($address: String!) {
account(id: $address) {
# AccountMetadata fields
label
image
id
atomId
type
# AccountClaims fields
claims(order_by: { shares: desc }) {
triple {
id
label
}
shares
counterShares
}
# AccountPositions fields
positions_aggregate(order_by: { shares: desc }) {
nodes {
id
shares
vault {
id
totalShares
currentSharePrice
atom {
id
label
}
triple {
id
label
}
}
}
}
}
chainLinkPrices(limit: 1, order_by: { id: desc }) {
usd
}
}
# Variables
{
"address": "0x01ba1635602706ce2794f2cd5d7eba0bdcf4972b"
}
Interact with this query in Apollo Sandbox
Triple Queries
There are two primary queries available for retrieving Triple
data:
GetTriples
: Retrieves a collection of triples based on specified filters and parametersGetTriple
: Fetches a single triple by its unique identifier (id
)
GetTriples
query GetTriples(
$limit: Int
$offset: Int
$orderBy: [triples_order_by!]
$where: triples_bool_exp
) {
triples(limit: $limit, offset: $offset, order_by: $orderBy, where: $where) {
# TripleMetadata fields
id
label
subject {
data
id
image
label
emoji
type
creator {
label
image
id
atomId
type
}
}
predicate {
data
id
image
label
emoji
type
creator {
label
image
id
atomId
type
}
}
object {
data
id
image
label
emoji
type
creator {
label
image
id
atomId
type
}
}
# TripleTxn fields
blockNumber
blockTimestamp
transactionHash
creatorId
# TripleVaultDetails fields
vaultId
counterVaultId
vault {
id
totalShares
currentSharePrice
positionCount
atom {
id
label
}
}
counterVault {
id
totalShares
currentSharePrice
positionCount
atom {
id
label
}
}
# Creator fields
creator {
label
image
id
atomId
type
}
}
}
Interact with this query in the Apollo Sandbox
GetTriple
query GetTriple($tripleId: numeric!) {
triple(id: $tripleId) {
# TripleMetadata fields
id
label
subject {
data
id
image
label
emoji
type
creator {
label
image
id
atomId
type
}
}
predicate {
data
id
image
label
emoji
type
creator {
label
image
id
atomId
type
}
}
object {
data
id
image
label
emoji
type
creator {
label
image
id
atomId
type
}
}
# TripleTxn fields
blockNumber
blockTimestamp
transactionHash
creatorId
# TripleVaultDetails fields
vaultId
counterVaultId
vault {
id
totalShares
currentSharePrice
positionCount
atom {
id
label
}
}
counterVault {
id
totalShares
currentSharePrice
positionCount
atom {
id
label
}
}
# Creator fields
creator {
label
image
id
atomId
type
}
}
}
# Variables
{
"tripleId": "15"
}
Interact with this query in Apollo Sandbox
Positions
GetPositions
query GetPositions(
$limit: Int
$offset: Int
$orderBy: [positions_order_by!]
$where: positions_bool_exp
) {
positions_aggregate(limit: $limit, offset: $offset, order_by: $orderBy, where: $where) {
nodes {
id
account {
id
label
}
vault {
id
atom {
id
label
}
triple {
id
subject {
id
label
}
predicate {
id
label
}
object {
id
label
}
}
}
shares
}
}
}
Interact with this query in Apollo Sandbox
GetPosition
query GetPosition($positionId: String!) {
position(id: $positionId) {
id
account {
id
label
}
vault {
id
atom {
id
label
}
triple {
id
subject {
id
label
}
predicate {
id
label
}
object {
id
label
}
}
}
shares
}
}
# Variables
{
"positionId": "13-0x000ddc0e1bbfd22d2f0909d4638fec62aafea106"
}
Interact with this query in Apollo Sandbox
Vaults
GetVaults
query GetVaults(
$limit: Int
$offset: Int
$orderBy: [vaults_order_by!]
$where: vaults_bool_exp
) {
vaults_aggregate(
limit: $limit
offset: $offset
order_by: $orderBy
where: $where
) {
nodes {
id
atom {
id
label
}
triple {
id
subject {
id
label
}
predicate {
id
label
}
object {
id
label
}
}
positions_aggregate {
nodes {
account {
id
label
}
shares
}
}
currentSharePrice
totalShares
}
}
}
Interact with this query in Apollo Sandbox
GetVault
query GetVault(
$vaultId: numeric!
) {
vault(id: $vaultId) {
id
atom {
id
label
}
triple {
id
subject {
id
label
}
predicate {
id
label
}
object {
id
label
}
}
positions_aggregate {
nodes {
account {
id
label
}
shares
}
}
currentSharePrice
totalShares
}
}
}
# Variables
{
"vaultId": "1"
}
Interact with this query in Apollo Sandbox
“Utility” Queries
These “utility” queries don’t necessarily fall into the other categories but are examples of how you can query for specific purpose data. For example, the GetStats
query returns stats such as the total number of Atoms created.
GetEvents
query GetEvents(
$limit: Int
$offset: Int
$orderBy: [events_order_by!]
$where: events_bool_exp
) {
events_aggregate(
limit: $limit
offset: $offset
order_by: $orderBy
where: $where
) {
nodes {
blockNumber
blockTimestamp
type
transactionHash
atomId
tripleId
depositId
feeTransferId
redemptionId
}
}
}