# Integration error messages, explained

Exact error strings from the APIs we monitor daily, what actually causes them, and what a correctly built pipeline does about them. No sign-up, no gate.

## Shopify

- [Exceeded 2 calls per second for api client](https://seamless.engineering/errors/shopify-exceeded-2-calls-per-second/): Why the Shopify Admin API returns this error during bulk syncs, how the leaky bucket actually behaves, why a burst of 40 requests is not the same as a sustained rate of 40, and what a pipeline does instead of retrying blindly.
- [429 Too Many Requests](https://seamless.engineering/errors/shopify-429-too-many-requests/): What a 429 from the Shopify Admin API means, why it can appear on a store with almost no traffic, how to read the Retry-After header when it is empty, and why concurrent apps sharing one budget is the cause people miss.

## Amazon SP-API

- [QuotaExceeded](https://seamless.engineering/errors/amazon-sp-api-quota-exceeded/): Why the Amazon Selling Partner API returns QuotaExceeded, why the limits differ per operation rather than per application, how to read the x-amzn-RateLimit-Limit header, and why a sleep between calls is a workaround rather than a fix.
- [Access to requested resource is denied](https://seamless.engineering/errors/amazon-sp-api-access-denied/): Why the Amazon Selling Partner API returns a 403 access denied, why a region mismatch between the seller account and the endpoint is the most common cause, and how to tell a missing role apart from an expired credential.
- [InvalidInput: Invalid request parameters](https://seamless.engineering/errors/amazon-sp-api-invalid-input/): Why the Amazon Selling Partner API rejects a request as InvalidInput, the parameter mistakes that cause it most often, and why the message rarely names the offending field.

## Personio

- [429 rate limit exceeded](https://seamless.engineering/errors/personio-api-rate-limit-429/): How Personio's API rate limits actually work, why the authentication endpoint has its own stricter limit with a punitive cooldown, why the Documents endpoint is far tighter than everything else, and why re-authenticating on every call is the mistake that causes most of these.

## Shopware 6

- [The provided value is not a valid](https://seamless.engineering/errors/shopware-provided-value-not-valid/): Why the Shopware 6 Admin API rejects a value as invalid, why the message is often truncated in logs, and why the Sync API's habit of not identifying which entity failed makes batch writes so hard to debug.
