# REST API v2 Feature Gaps: Missing endpoints and data needed to migrate from XML-RPC

**URL:** https://integration.keap.com/t/rest-api-v2-feature-gaps-missing-endpoints-and-data-needed-to-migrate-from-xml-rpc/93864
**Category:** API Q&A
**Created:** [December 18, 2025, 8:03pm UTC](https://integration.keap.com/t/rest-api-v2-feature-gaps-missing-endpoints-and-data-needed-to-migrate-from-xml-rpc/93864 "2025-12-18T20:03:42Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![OmarAlmonte](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/omaralmonte/32/15105_2.png) [@OmarAlmonte](https://integration.keap.com/u/OmarAlmonte)
#### Post date: [December 19, 2025, 4:59pm UTC](https://integration.keap.com/t/rest-api-v2-feature-gaps-missing-endpoints-and-data-needed-to-migrate-from-xml-rpc/93864/2 "2025-12-19T16:59:17Z")

</div>

Hi @Mark_Ginat,

Thanks so much for the detailed feedback and for clearly outlining these gaps. I really appreciate you taking the time to provide all the specifics; it makes it much easier for us to understand the issues and discuss potential solutions.

> ## Gap #1: No REST API endpoint to update payment method expiration date

In v2, there is **no direct endpoint to edit an existing payment method**. Card data is managed by the payment processors (e.g., Stripe, Rainforest). The supported approach is to **delete the old payment method and create a new one with the updated expiration**.

For guidance on how payment methods are handled in v2, please see the documentation:  
[Keap Payments API Integration Configuration](https://developer.infusionsoft.com/payments-api-integration-configuration/)

This approach is intentional and reflects the way v2 is designed: cards are no longer treated as entities owned by our system, and updates like expiration changes are handled through the payment processors’ components.

> ## Gap #2: No REST API endpoint to query Invoice table by contact

In v2, orders and invoices are handled in a more unified way, so an order essentially represents its invoice. You can use the `GET /v2/orders` endpoint and filter by `contact_id`. Can you confirm if this meets your need?

> ## Gap #3: No REST API endpoint to query Payment table

Thanks for reporting this, I will bring it up internally.

> ## Gap #4: CreditCard table ID ≠ REST payment\_method\_id (no mapping provided)

1. You actually reported this one [here](https://integration.keap.com/t/rest-api-v2-listsubscriptions-and-getsubscription-return-payment-method-id-0-for-subscriptions-with-valid-payment-methods/93863/2), and I’ve already flagged it internally.

> ## Gap #5: No REST API endpoint to update Order (Job) custom fields

1. I will report it, thanks for bringing it up.

---

_[View the full topic](https://integration.keap.com/t/rest-api-v2-feature-gaps-missing-endpoints-and-data-needed-to-migrate-from-xml-rpc/93864)._
