Get a store credit account by account ID
Query
query storeCreditAccount($accountId: ID!) {
storeCreditAccount(id: $accountId) {
id
balance {
amount
currencyCode
}
}
}
Variables
{
"accountId": "gid://shopify/StoreCreditAccount/316863792"
}
cURL
curl -X POST \
https://your-development-store.myshopify.com/admin/api/unstable/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "query storeCreditAccount($accountId: ID!) { storeCreditAccount(id: $accountId) { id balance { amount currencyCode } } }",
"variables": {
"accountId": "gid://shopify/StoreCreditAccount/316863792"
}
}'
React Router
import { authenticate } from "../shopify.server";
export const loader = async ({request}) => {
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
query storeCreditAccount($accountId: ID!) {
storeCreditAccount(id: $accountId) {
id
balance {
amount
currencyCode
}
}
}`,
{
variables: {
"accountId": "gid://shopify/StoreCreditAccount/316863792"
},
},
);
const json = await response.json();
return json.data;
}
Ruby
session = ShopifyAPI::Auth::Session.new(
shop: "your-development-store.myshopify.com",
access_token: access_token
)
client = ShopifyAPI::Clients::Graphql::Admin.new(
session: session
)
query = <<~QUERY
query storeCreditAccount($accountId: ID!) {
storeCreditAccount(id: $accountId) {
id
balance {
amount
currencyCode
}
}
}
QUERY
variables = {
"accountId": "gid://shopify/StoreCreditAccount/316863792"
}
response = client.query(query: query, variables: variables)
Node.js
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `query storeCreditAccount($accountId: ID!) {
storeCreditAccount(id: $accountId) {
id
balance {
amount
currencyCode
}
}
}`,
"variables": {
"accountId": "gid://shopify/StoreCreditAccount/316863792"
},
},
});
Shopify CLI
shopify app execute \
--query \
'query storeCreditAccount($accountId: ID!) {
storeCreditAccount(id: $accountId) {
id
balance {
amount
currencyCode
}
}
}' \
--variables \
'{
"accountId": "gid://shopify/StoreCreditAccount/316863792"
}'
Direct API Access
const response = await fetch('shopify:admin/api/unstable/graphql.json', {
method: 'POST',
body: JSON.stringify({
query: `
query storeCreditAccount($accountId: ID!) {
storeCreditAccount(id: $accountId) {
id
balance {
amount
currencyCode
}
}
}
`,
variables: {
"accountId": "gid://shopify/StoreCreditAccount/316863792"
},
}),
});
const { data } = await response.json();
console.log(data);
Response
{
"storeCreditAccount": {
"id": "gid://shopify/StoreCreditAccount/316863792",
"balance": {
"amount": "11.11",
"currencyCode": "USD"
}
}
}
Get the first two expirable credit transactions of a store credit account
Query
query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, query: "type:credit AND expires_at:*") {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
}
}
}
}
}
Variables
{
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 2
}
cURL
curl -X POST \
https://your-development-store.myshopify.com/admin/api/unstable/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "query storeCreditAccount($accountId: ID!, $first: Int!) { storeCreditAccount(id: $accountId) { id transactions(first: $first, query: \"type:credit AND expires_at:*\") { edges { node { amount { amount currencyCode } balanceAfterTransaction { amount currencyCode } createdAt ... on StoreCreditAccountCreditTransaction { id expiresAt remainingAmount { amount currencyCode } } } } } } }",
"variables": {
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 2
}
}'
React Router
import { authenticate } from "../shopify.server";
export const loader = async ({request}) => {
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, query: "type:credit AND expires_at:*") {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
}
}
}
}
}`,
{
variables: {
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 2
},
},
);
const json = await response.json();
return json.data;
}
Ruby
session = ShopifyAPI::Auth::Session.new(
shop: "your-development-store.myshopify.com",
access_token: access_token
)
client = ShopifyAPI::Clients::Graphql::Admin.new(
session: session
)
query = <<~QUERY
query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, query: "type:credit AND expires_at:*") {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
}
}
}
}
}
QUERY
variables = {
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 2
}
response = client.query(query: query, variables: variables)
Node.js
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, query: "type:credit AND expires_at:*") {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
}
}
}
}
}`,
"variables": {
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 2
},
},
});
Shopify CLI
shopify app execute \
--query \
'query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, query: "type:credit AND expires_at:*") {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
}
}
}
}
}' \
--variables \
'{
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 2
}'
Direct API Access
const response = await fetch('shopify:admin/api/unstable/graphql.json', {
method: 'POST',
body: JSON.stringify({
query: `
query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, query: "type:credit AND expires_at:*") {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
}
}
}
}
}
`,
variables: {
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 2
},
}),
});
const { data } = await response.json();
console.log(data);
Response
{
"storeCreditAccount": {
"id": "gid://shopify/StoreCreditAccount/669614221",
"transactions": {
"edges": [
{
"node": {
"amount": {
"amount": "100.0",
"currencyCode": "USD"
},
"balanceAfterTransaction": {
"amount": "100.0",
"currencyCode": "USD"
},
"createdAt": "2024-01-01T00:00:00Z",
"id": "gid://shopify/StoreCreditAccountCreditTransaction/870993577",
"expiresAt": "2024-02-01T00:00:00Z",
"remainingAmount": {
"amount": "50.0",
"currencyCode": "USD"
}
}
},
{
"node": {
"amount": {
"amount": "54.99",
"currencyCode": "USD"
},
"balanceAfterTransaction": {
"amount": "104.99",
"currencyCode": "USD"
},
"createdAt": "2024-01-03T00:00:00Z",
"id": "gid://shopify/StoreCreditAccountCreditTransaction/870993579",
"expiresAt": "2024-02-03T00:00:00Z",
"remainingAmount": {
"amount": "54.99",
"currencyCode": "USD"
}
}
}
]
}
}
}
Get the four most recent transactions of a store credit account
Query
query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, sortKey: CREATED_AT, reverse: true) {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
... on StoreCreditAccountDebitTransaction {
id
}
... on StoreCreditAccountDebitRevertTransaction {
id
debitTransaction {
id
}
}
... on StoreCreditAccountExpirationTransaction {
creditTransaction {
id
}
}
}
}
}
}
}
Variables
{
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 4
}
cURL
curl -X POST \
https://your-development-store.myshopify.com/admin/api/unstable/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "query storeCreditAccount($accountId: ID!, $first: Int!) { storeCreditAccount(id: $accountId) { id transactions(first: $first, sortKey: CREATED_AT, reverse: true) { edges { node { amount { amount currencyCode } balanceAfterTransaction { amount currencyCode } createdAt ... on StoreCreditAccountCreditTransaction { id expiresAt remainingAmount { amount currencyCode } } ... on StoreCreditAccountDebitTransaction { id } ... on StoreCreditAccountDebitRevertTransaction { id debitTransaction { id } } ... on StoreCreditAccountExpirationTransaction { creditTransaction { id } } } } } } }",
"variables": {
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 4
}
}'
React Router
import { authenticate } from "../shopify.server";
export const loader = async ({request}) => {
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, sortKey: CREATED_AT, reverse: true) {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
... on StoreCreditAccountDebitTransaction {
id
}
... on StoreCreditAccountDebitRevertTransaction {
id
debitTransaction {
id
}
}
... on StoreCreditAccountExpirationTransaction {
creditTransaction {
id
}
}
}
}
}
}
}`,
{
variables: {
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 4
},
},
);
const json = await response.json();
return json.data;
}
Ruby
session = ShopifyAPI::Auth::Session.new(
shop: "your-development-store.myshopify.com",
access_token: access_token
)
client = ShopifyAPI::Clients::Graphql::Admin.new(
session: session
)
query = <<~QUERY
query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, sortKey: CREATED_AT, reverse: true) {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
... on StoreCreditAccountDebitTransaction {
id
}
... on StoreCreditAccountDebitRevertTransaction {
id
debitTransaction {
id
}
}
... on StoreCreditAccountExpirationTransaction {
creditTransaction {
id
}
}
}
}
}
}
}
QUERY
variables = {
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 4
}
response = client.query(query: query, variables: variables)
Node.js
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, sortKey: CREATED_AT, reverse: true) {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
... on StoreCreditAccountDebitTransaction {
id
}
... on StoreCreditAccountDebitRevertTransaction {
id
debitTransaction {
id
}
}
... on StoreCreditAccountExpirationTransaction {
creditTransaction {
id
}
}
}
}
}
}
}`,
"variables": {
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 4
},
},
});
Shopify CLI
shopify app execute \
--query \
'query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, sortKey: CREATED_AT, reverse: true) {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
... on StoreCreditAccountDebitTransaction {
id
}
... on StoreCreditAccountDebitRevertTransaction {
id
debitTransaction {
id
}
}
... on StoreCreditAccountExpirationTransaction {
creditTransaction {
id
}
}
}
}
}
}
}' \
--variables \
'{
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 4
}'
Direct API Access
const response = await fetch('shopify:admin/api/unstable/graphql.json', {
method: 'POST',
body: JSON.stringify({
query: `
query storeCreditAccount($accountId: ID!, $first: Int!) {
storeCreditAccount(id: $accountId) {
id
transactions(first: $first, sortKey: CREATED_AT, reverse: true) {
edges {
node {
amount {
amount
currencyCode
}
balanceAfterTransaction {
amount
currencyCode
}
createdAt
... on StoreCreditAccountCreditTransaction {
id
expiresAt
remainingAmount {
amount
currencyCode
}
}
... on StoreCreditAccountDebitTransaction {
id
}
... on StoreCreditAccountDebitRevertTransaction {
id
debitTransaction {
id
}
}
... on StoreCreditAccountExpirationTransaction {
creditTransaction {
id
}
}
}
}
}
}
}
`,
variables: {
"accountId": "gid://shopify/StoreCreditAccount/669614221",
"first": 4
},
}),
});
const { data } = await response.json();
console.log(data);
Response
{
"storeCreditAccount": {
"id": "gid://shopify/StoreCreditAccount/669614221",
"transactions": {
"edges": [
{
"node": {
"amount": {
"amount": "-90.0",
"currencyCode": "USD"
},
"balanceAfterTransaction": {
"amount": "0.0",
"currencyCode": "USD"
},
"createdAt": "2024-02-01T00:00:00Z",
"creditTransaction": {
"id": "gid://shopify/StoreCreditAccountCreditTransaction/870993581"
}
}
},
{
"node": {
"amount": {
"amount": "40.0",
"currencyCode": "USD"
},
"balanceAfterTransaction": {
"amount": "90.0",
"currencyCode": "USD"
},
"createdAt": "2024-01-03T00:00:00Z",
"id": "gid://shopify/StoreCreditAccountDebitRevertTransaction/870993583",
"debitTransaction": {
"id": "gid://shopify/StoreCreditAccountDebitTransaction/870993582"
}
}
},
{
"node": {
"amount": {
"amount": "-50.0",
"currencyCode": "USD"
},
"balanceAfterTransaction": {
"amount": "50.0",
"currencyCode": "USD"
},
"createdAt": "2024-01-02T00:00:00Z",
"id": "gid://shopify/StoreCreditAccountDebitTransaction/870993582"
}
},
{
"node": {
"amount": {
"amount": "100.0",
"currencyCode": "USD"
},
"balanceAfterTransaction": {
"amount": "100.0",
"currencyCode": "USD"
},
"createdAt": "2024-01-01T00:00:00Z",
"id": "gid://shopify/StoreCreditAccountCreditTransaction/870993581",
"expiresAt": "2024-02-01T00:00:00Z",
"remainingAmount": {
"amount": "90.0",
"currencyCode": "USD"
}
}
}
]
}
}
}