{"record":{"id":"18e5d9d449cb7e2a","repo":"gatsbyjs/gatsby","slug":"unknownapierror","errorCode":"unknownApiError","errorMessage":"Received error ${e.response.status} from Shopify: ${await e.response.text()}","messagePattern":"Received error (.+?) from Shopify: (.+?)","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby-source-shopify/src/source-from-operation.ts","lineNumber":140,"sourceCode":"            },\n            error: e,\n          })\n        }\n\n        reporter.panic({\n          id: errorCodes.unknownSourcingFailure,\n          context: {\n            sourceMessage: shiftLeft`\n              Operation ${op.name} failed after ${e.node.objectCount} objects\n              - With status: ${e.node.status} - error code: ${e.node.errorCode}\n            `,\n          },\n          error: e,\n        })\n      }\n\n      if (e instanceof HttpError) {\n        reporter.panic({\n          id: errorCodes.unknownApiError,\n          context: {\n            sourceMessage: `Received error ${\n              e.response.status\n            } from Shopify: ${await e.response.text()}`,\n          },\n          error: e,\n        })\n      }\n\n      console.log(e)\n\n      reporter.panic({\n        id: errorCodes.unknownSourcingFailure,\n        context: {\n          sourceMessage: `Could not source from bulk operation`,\n        },\n        error: e as Error,","sourceCodeStart":122,"sourceCodeEnd":158,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/8b06340921ffdf23125a365b9c9923690cb62ce6/packages/gatsby-source-shopify/src/source-from-operation.ts#L122-L158","documentation":"Error \"Received error ${e.response.status} from Shopify: ${await e.response.text()}\" thrown in gatsbyjs/gatsby.","triggerScenarios":"Thrown at packages/gatsby-source-shopify/src/source-from-operation.ts:140 when the library encounters an invalid state.","commonSituations":"Occurs when the Shopify Admin API returns a non-2xx response (e.g. 401/403 bad credentials, 429 rate limit). Verify the access token, scopes, and shop domain, and retry after rate limiting subsides.","solutions":["Check the Shopify status code: 401/403 means invalid API credentials or missing access scopes; 429 means rate limiting - retry later.","Verify the shop name and access token in plugin options, and that the private app has the required read scopes."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8b06340921ffdf23125a365b9c9923690cb62ce6","analyzedAt":"2026-08-13T02:36:21.405Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}