REST v2 - List Endpoints - Ability to provide an Array of ID Numbers

@OmarAlmonte - Another issue to be added to the tracker.

In the XML-RPC you can provide an array of ID numbers to the tables so that you can return the results specific to other ID numbers. This is very useful when cross referencing the data between the tables.

in REST v2, I do not see the ability to do any of that. None of the main endpoints, eg: Contacts, Opportunities, Orders, Notes, Products, Tags, etc, can do it.

Thanks for the feedback! I’ll raise this internally and will also add it to the tracker.

Hi @Pav,

Just a quick update on REST v2 filtering:

The Orders list endpoint now supports filtering by multiple order IDs using the ids filter, allowing you to retrieve specific orders in bulk.

The Products list endpoint now supports filtering by multiple product IDs, enabling retrieval of multiple products in a single request.

Docs for reference:

Thanks again for highlighting these use cases.

What about the other endpoints like Payments?

We’re currently working on enhancing the filtering capabilities across most of the list endpoints. I’ll keep you updated as soon as support for these additional items is released.

Hi @Pav,

Quick update, filtering by multiple IDs is now also supported for Opportunities and Contacts via the ids filter on the list endpoints.

Documentation: Keap REST API

@OmarAlmonte, thanks, but a couple of things have been spotted.

Contacts

  • There is now 2 fields called “ids” and “contact_ids”. Is the last one a mistake?
  • What is the limit of the IDs?

Opportunities

  • Why is there a limit of 100 IDs, whereas 1000 can be provided in XML-RPC?

Are there any other List Endpoints that have varying ID limits?

Hi Pav, great questions.

For Contacts, both ids and contact_ids are supported. ids is the preferred V2 standard. They work the same, but don’t mix them in the same request or you’ll get a 400 error.

For Opportunities, the ids filter is currently capped at 100 for performance reasons.

I’ll flag the Opportunities limit for a consistency review.

Hi @Pav,

Quick update, filtering by multiple IDs is now also supported for Payments, Tasks and Notes via the ids filter on the list endpoints.

Docs: Keap REST API

@OmarAlmonte, what is the limit? 100 or 1,000?

Also, when you are planning to support multiple Order IDs?

The limit is 1,000. Filtering by multiple Order IDs is already supported in the List Orders endpoint.

I meant filtering of Order IDs on the Payments Endpoint.

I have an integration that pulls financial records from Keap. The Invoice IDs are picked up and supplied to either the InvoicePayment or Payment tables in XML-RPC. There is no equivalent in REST.

You can use the V2 List Order Payments or List Payments endpoint and filter by a single Order ID. It will require more calls, but you can still achieve the same result.

Not practical when having to do several hundred every hour. It needs to support multiple IDs.

Or better still, why not add the Payments history to the Orders data, saves having to go to another endpoint to retrieve it.

Hi @Pav, the list payments endpoint now support filtering by multiple order IDs, thanks for your patience.
Docs: Keap REST API

@Pav This is now supported by the list tags endpoint.