Partner API return 500

Topic summary

Partner API GraphQL requests for app events/transactions have been intermittently failing with 500 “Unexpected system error” since 2022-03-15T16:00:00Z. Affected endpoint: partners.shopify.com/{organization_id}/api/2022-01/graphql.json.

Observed patterns:

  • Field sensitivity: Minimal field sets (e.g., id, app, billingInterval) succeed, while adding fields like amount/grossAmount or shop often triggers 500.
  • Pagination limits: first 1–41 works; 42+ returns 500. Retrieving the last 100 AppSubscriptionSales fails; 0–40 succeeds. Reducing items to ~50 commonly avoids errors.
  • Time window quirks: Some narrow occurredAt ranges (e.g., a specific minute) 500, while broader earlier ranges return data.

Workarounds shared:

  • Reduce requested fields, especially amount-related fields.
  • Lower page size (e.g., first/last ≤ 40–50) and paginate.
  • Use last with a before cursor. In at least one later episode, errors recurred even with page size = 1.

Status and context:

  • Multiple reports confirm ongoing impact with no official notice in the thread and no definitive fix shared.
  • Likely related to response payload/field-specific processing, but behavior is inconsistent. Issue remains unresolved/ongoing.
Summarized with AI on February 13. AI used: gpt-5.

Background:

We have a cron task to get app events and transactions through Partner API. Since 2022-03-15T16:00:00Z, we found that the partner API is not working. The request returns the following error. I didn’t see any relevant notification on Shopify official website. Does anyone know what’s causing the problem??

Date: Since 2022-03-15T16:00:00Z

X-Request-ID : 4d42837c-e0ed-4b13-bb24-68dad39d99a4

Endpoint:

https://partners.shopify.com/{organization_id}/api/2022-01/graphql.json

Header:

X-Shopify-Access-Token : ***
Content-Type : application/json

request body:

query {
app(id: "gid://partners/App/{app_id}") {
id
name
events(
first: 100
) {
edges {
node {
type
occurredAt
shop {
avatarUrl
myshopifyDomain 
name 
id 

}
app {
id
name
}
... on CreditPending {
appCredit {
id
name
test
amount{
amount
currencyCode
}
}
}
... on CreditApplied {
appCredit {
id
name
test
amount{
amount
currencyCode
}
}
}
... on CreditFailed {
appCredit {
id
name
test
amount{
amount
currencyCode
}
}
}
... on UsageChargeApplied {
charge {
id
name
test
amount{
amount
currencyCode
}
}
}
... on RelationshipUninstalled {
reason
description
}
... on SubscriptionChargeAccepted {
charge {
id
name
test
billingOn
amount{
amount
currencyCode
}
}
}
... on SubscriptionChargeActivated {
charge {
id
name
test
billingOn
amount{
amount
currencyCode
}
}
}
... on SubscriptionChargeExpired {
charge {
id
name
test
billingOn
amount{
amount
currencyCode
}
}
}
... on SubscriptionChargeCanceled {
charge {
id
name
test
billingOn
amount{
amount
currencyCode
}
}
}
... on SubscriptionChargeDeclined {
charge {
id
name
test
billingOn
amount{
amount
currencyCode
}
}
}
... on SubscriptionChargeFrozen {
charge {
id
name
test
billingOn
amount{
amount
currencyCode
}
}
}
... on SubscriptionChargeUnfrozen {
charge {
id
name
test
billingOn
amount{
amount
currencyCode
}
}
}
... on OneTimeChargeAccepted {
charge {
id
name
test
amount{
amount
currencyCode
}
}
}
... on OneTimeChargeDeclined {
charge {
id
name
test
amount{
amount
currencyCode
}
}
}
... on OneTimeChargeExpired {
charge {
id
name
test
amount{
amount
currencyCode
}
}
}
... on OneTimeChargeActivated {
charge {
id
name
test
amount{
amount
currencyCode
}
}
}
}
cursor
}
pageInfo {
hasNextPage
hasPreviousPage
}
}
}
}

response body:

{
"data": null,
"errors": [
{
"message": "Unexpected system error",
"extensions": {
"code": "500"
}
}
]
} 

@GrahamS Can you help troubleshoot what’s the problem?

4 Likes

We are also experiencing the same problem.

We are fetching transactions and what we found so far is that requesting only some fields (e.g. id, app or billingInterval) works, however requesting any additional field (e.g. grossAmount, shop, etc.) causes a server-side error:

{"data"=>nil, "errors"=>[{"message"=>"Unexpected system error", "extensions"=>{"code"=>"500"}}]}

I couldn’t find any other info on the problem except this thread.

We have similar problems, transaction requests come with an error:
{“data”:null,“errors”:[{“message”:“Unexpected system error”,“extensions”:{“code”:“500”}}]}

We have the same problem. I fount out that the query works without using amount

We’ve run into the same issue, which began for us March 15th around 16:00 UTC.

Strangely, if we change the value of first to any number between 1 and 41, it works. 42 and above: we get the 500 error.

2 Likes

We are having problems with it too.

Retrieving the last 100 AppSubcriptionSales results in the same error as OP.
However we have no problem retrieving the first 0 till 40.

Any help is appreciated, thanks !

It seems that the issue comes due to the limitation of the amount of transferred data.
In case you reduce the amount of the received fields so that you can get the same 100 transactions. However, since we required all fields as a temporary solution, we’ve reduced the amount of transactions from 100 to 50. According to this process, the 500 error is removed.

3 Likes

DUDE YOU SAVED ME. Thanks a lot!

Any update?
The error still ocurring to me when retrieving the last 100 AppSubscriptionSales

Is it only me or this is down again for 48 hours? even with pagination set to 1

1 Like

Please, give a try like this

last: 50

before: “HERE_TRANSACTION_CURSOR”

We have similar problems with app

Header:

X-Shopify-Access-Token : ***
Content-Type : application/json

request body:> > > {> app (> id: "gid://partners/App/1751549"> ) {> events(> occurredAtMin: "2022-06-30T12:15:00Z", > occurredAtMax: "2022-06-30T12:16:00Z"> ) {> edges {> node {> occurredAt> }> }> }> }> }> > > response body:> > > {> "data": null,> "errors": [> {> "message": "Unexpected system error",> "extensions": {> "code": "500"> }> }> ]> }>

But another date range working:

request body:

{
app (
id: "gid://partners/App/1751549"
) {
events(
occurredAtMin: "2022-06-30T11:39:00Z", 
occurredAtMax: "2022-06-30T12:15:00Z"
) {
edges {
node {
occurredAt
}
}
}
}
}

response body:

{
"data": {
"app": {
"events": {
"edges": [
{
"node": {
"occurredAt": "2022-06-30T11:39:43.000000Z"
}
}
]
}
}
}
}