# I am getting an error - XMLRPC::FaultException: \[InvalidKey\]Invalid Key

**URL:** <https://integration.keap.com/t/i-am-getting-an-error-xmlrpc-invalidkey-invalid-key/93165>\
**Category:** API Q&A\
**Created:** [September 16, 2024, 11:43am UTC](https://integration.keap.com/t/i-am-getting-an-error-xmlrpc-invalidkey-invalid-key/93165 "2024-09-16T11:43:13Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Manny\_Ju](https://avatars.discourse-cdn.com/v4/letter/m/df788c/32.png) [@Manny\_Ju](https://integration.keap.com/u/Manny_Ju)\
**Post date:** [September 16, 2024, 11:43am UTC](https://integration.keap.com/t/i-am-getting-an-error-xmlrpc-invalidkey-invalid-key/93165/1 "2024-09-16T11:43:13Z")

</div>

1. Can someone please help me resolving this issue XMLRPC::FaultException: [InvalidKey]Invalid Key, currently I’m using valid Legacy API Key.

2. How do I update below code, to get the contact created in last one day. I’m getting zero contacts.  
Do I need to create a XMLRPC::Client as mentioned in the above question?

---

<div class="post-metadata">

**Author:** ![Marion\_Dorsett2](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/marion_dorsett2/32/14894_2.png) [@Marion\_Dorsett2](https://integration.keap.com/u/Marion_Dorsett2)\
**Post date:** [September 16, 2024, 1:21pm UTC](https://integration.keap.com/t/i-am-getting-an-error-xmlrpc-invalidkey-invalid-key/93165/2 "2024-09-16T13:21:17Z")

</div>

@Manny_Ju Did you replace the legacy API key with a new SAK (Service Account Key)?

---

<div class="post-metadata">

**Author:** ![Manny\_Ju](https://avatars.discourse-cdn.com/v4/letter/m/df788c/32.png) [@Manny\_Ju](https://integration.keap.com/u/Manny_Ju)\
**Post date:** [September 16, 2024, 1:48pm UTC](https://integration.keap.com/t/i-am-getting-an-error-xmlrpc-invalidkey-invalid-key/93165/3 "2024-09-16T13:48:20Z")

</div>

@Marion_Dorsett2, currently I’m using Legacy API Key on the XMLRPC API call, I have not used OAuth.

---

<div class="post-metadata">

**Author:** ![Marion\_Dorsett2](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/marion_dorsett2/32/14894_2.png) [@Marion\_Dorsett2](https://integration.keap.com/u/Marion_Dorsett2)\
**Post date:** [September 16, 2024, 2:14pm UTC](https://integration.keap.com/t/i-am-getting-an-error-xmlrpc-invalidkey-invalid-key/93165/4 "2024-09-16T14:14:40Z")

</div>

The PAT and SAK keys aren’t used for OAuth they’re intended to replace the legacy API key. Since you’re replacing the legacy API key you’ll want to use a SAK to give it full access the app.

After you replace the legacy API key with the SAK, and pass it in the header like you configured… it should work.

---

<div class="post-metadata">

**Author:** ![Manny\_Ju](https://avatars.discourse-cdn.com/v4/letter/m/df788c/32.png) [@Manny\_Ju](https://integration.keap.com/u/Manny_Ju)\
**Post date:** [September 16, 2024, 2:24pm UTC](https://integration.keap.com/t/i-am-getting-an-error-xmlrpc-invalidkey-invalid-key/93165/5 "2024-09-16T14:24:54Z")

</div>

Thank you I’ll try using SAK.

Regarding my second question, Is the api\_client.contact.all not working any more, it return zero contact even if we manually add to create new contact.

api\_client = Infusionsoft::Api::Client.new({ api\_key: YourLegacyKey, app\_name: “myappname” })  
all\_contacts = api\_client.contact.all(‘DateCreated’ =\> “#{(Time.zone.now - 1.days).strftime(‘%Y-%m-%d’)}%”)

---

<div class="post-metadata">

**Author:** ![Tom\_Scott](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/tom_scott/32/14748_2.png) [@Tom\_Scott](https://integration.keap.com/u/Tom_Scott)\
**Post date:** [September 16, 2024, 6:15pm UTC](https://integration.keap.com/t/i-am-getting-an-error-xmlrpc-invalidkey-invalid-key/93165/6 "2024-09-16T18:15:47Z")

</div>

Are you getting a non-401 response code on your request? If so, your request is authenticated correctly, and the question lies with what query you are posing to the XMLRPC endpoint. If you would like to post your raw payload (captured from the outgoing request) I can attempt to determine why you would only be seeing limited results.

The syntax of your request seems to indicate that you are using a C++ library, but as we are a Java/Javascript development organization there is a limit to how much assistance we can render regarding that language.
