Skip to main content
Answer

Unable to access API (authentication failed).

  • November 27, 2025
  • 2 replies
  • 30 views

Forum|alt.badge.img

Hi there,

I constantly get this message:

 

We couldn't complete your installation.An error occurred while trying to integrate WooCommerce and Klaviyo. Please review the troubleshooting steps in our Help Center to resolve this.Details: Unable to access API (authentication failed).First a got a message Klaviyo is failing to sync your content. So I revoked the key in WooCommerce. But now it’s unable to connect again…

 

Could you help please!!??

Best answer by Byrne C

Hi ​@Geit, and sorry that this is happening!

For some context on what is happening: Klaviyo attempts to make API calls to your WooCommerce store during the integration setup. WooCommerce stores require authorization credentials, which is like an added layer of security when making API calls to your store. An example of a call that Klaviyo makes is:

curl https://STORE_URL/wp-json/wc/v3/orders \
-u CONSUMER_KEY:CONSUMER_SECRET

This is a generic WooCommerce REST API endpoint that should be available for all WooCommerce stores: https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-orders
 
If you have a web developer, they can test an API call to this endpoint in an app like Postman (make sure you are using the store URL that is auto-populating within the “Connection Details” when setting up the Klaviyo integration - see more on that below ). If Klaviyo cannot make this type of call when setting up the integration, then an error message will result. You (or your dev team) can make this exact call outside of Klaviyo, using the credentials generated for Klaviyo (found within WordPress > WooCommerce > Settings > Advanced > REST API). You may need to generate a new set of REST API keys with read/write permissions to obtain the full consumer key and consumer secret. This will give you some insight into what might be blocking Klaviyo’s call. 

This can happen for different reasons, to name a few common ones:

  • A firewall on your server is blocking Klaviyo’s requests (in this case, we recommend allowlisting our user agent, Klaviyo/1.0 and our IPs (instructions on how to do this here)
  • Your website does not meet standard SSL requirements.
  • 3rd party cacheing plugins are conflicting with the Klaviyo plugin. Do you have any plugins like WP Rocket or WP Total Cache? If so, we recommend disabling them to allow Klaviyo to connect.
  • The Klaviyo API credentials generated not having both read and write permissions.
  • Web browser privacy extensions. In this case, you’d want to ensure these extensions were disabled during setup.

I know this is a lot of information and may be a bit tricky to follow. I’m happy to explain further, or answer any additional questions, to help get to the bottom of this, if needed!

2 replies

Byrne C
Community Manager
Forum|alt.badge.img+27
  • Community Manager
  • Answer
  • November 28, 2025

Hi ​@Geit, and sorry that this is happening!

For some context on what is happening: Klaviyo attempts to make API calls to your WooCommerce store during the integration setup. WooCommerce stores require authorization credentials, which is like an added layer of security when making API calls to your store. An example of a call that Klaviyo makes is:

curl https://STORE_URL/wp-json/wc/v3/orders \
-u CONSUMER_KEY:CONSUMER_SECRET

This is a generic WooCommerce REST API endpoint that should be available for all WooCommerce stores: https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-orders
 
If you have a web developer, they can test an API call to this endpoint in an app like Postman (make sure you are using the store URL that is auto-populating within the “Connection Details” when setting up the Klaviyo integration - see more on that below ). If Klaviyo cannot make this type of call when setting up the integration, then an error message will result. You (or your dev team) can make this exact call outside of Klaviyo, using the credentials generated for Klaviyo (found within WordPress > WooCommerce > Settings > Advanced > REST API). You may need to generate a new set of REST API keys with read/write permissions to obtain the full consumer key and consumer secret. This will give you some insight into what might be blocking Klaviyo’s call. 

This can happen for different reasons, to name a few common ones:

  • A firewall on your server is blocking Klaviyo’s requests (in this case, we recommend allowlisting our user agent, Klaviyo/1.0 and our IPs (instructions on how to do this here)
  • Your website does not meet standard SSL requirements.
  • 3rd party cacheing plugins are conflicting with the Klaviyo plugin. Do you have any plugins like WP Rocket or WP Total Cache? If so, we recommend disabling them to allow Klaviyo to connect.
  • The Klaviyo API credentials generated not having both read and write permissions.
  • Web browser privacy extensions. In this case, you’d want to ensure these extensions were disabled during setup.

I know this is a lot of information and may be a bit tricky to follow. I’m happy to explain further, or answer any additional questions, to help get to the bottom of this, if needed!


talha.hussain
Problem Solver III
Forum|alt.badge.img+5
  • Problem Solver III
  • December 1, 2025

It looks like the issue is coming from the WooCommerce API key connection rather than Klaviyo itself. When Klaviyo shows the message Unable to access API (authentication failed), it usually means the API credentials that WooCommerce is sending are either incorrect, revoked, or missing the required permissions.

Here are the steps that normally fix this:

1. Create a brand new API key in WooCommerce
Go to WooCommerce, then Settings, then Advanced, then REST API and create a new key.
Give it Read or Read and Write permissions.
Copy the Consumer Key and Consumer Secret.

2. Reconnect WooCommerce inside Klaviyo
Go to Klaviyo Integrations and choose WooCommerce.
Enter the new API keys you created.
Make sure the store URL you enter matches exactly the live store domain including https.

3. Check for plugin conflicts or security blocks
Some security plugins or firewalls can block API calls.
If you use Cloudflare, Wordfence, or similar tools, allowlist Klaviyo and ensure API requests are not being blocked.

4. Confirm the API is returning valid data
You can test the WooCommerce API by opening this link in your browser:
https://yourstore.com/wp-json/wc/v3
If it does not load, something is blocking your REST API.

5. Clear any cache and try syncing again
Cached credentials can cause the same authentication error. Clear cache and retry.

Most of the time, generating a fresh WooCommerce API key and reconnecting in Klaviyo resolves the issue right away.

If you still get the same error, it usually means your REST API is disabled or blocked, so checking your security plugins or host firewall is the next best step.