REST v2 Orders Fields Missing

I am trying to retrieve orders from this endpoint Keap REST API

The documentation above lists several fields that are not being returned to me, the most urgent for me is refund_total, but there are others.

here is my request:

``url: “https://api.infusionsoft.com/crm/rest/v2/orders?filter=created_since_time%3D%3D2025-05-08T00%3A00%3A00.000Z%3Bcreated_until_time%3D%3D2025-05-17T00%3A00%3A00.000Z%3Bproduct_id%3D%3D55

options: { method: “get”, contentType: “application/json”, headers: { X-Keap-API-Key: **** }}```

What am I missing?

Welcome @MA_Admin

Try the Retrieve Payments Endpoint and check the Pay Status field for “REFUNDED”.

https://developer.infusionsoft.com/docs/restv2/#tag/Orders/operation/listOrderPaymentsUsingGET_1

If you want the Refund Total and other fields to be present in Orders, then @OmarAlmonte will inform the development team to see if they can implement it.

thanks @Pav for the quick reply. While I appreciate that I can make another call to get payment statuses (which I’ll implement as a fallback), I’d like to avoid having to make a call for each order I am dealing with. I’m also curious why the documentation lists those fields if they are not implemented? Or perhaps I am missing something.

EDIT: this is the documentation I’m referring to: Keap REST API

@OmarAlmonte will be back next week to answer your questions.

Bare in mind that the REST v2 API is still being updated so things could either be missing, broken, or yet to be released. There are several other gaps to be filled as other developers have been reporting things.

@Pav that is perfectly fair. I’ll wait for an update from @OmarAlmonte . meantime I can always use the v1 endpoint.

This came up for us a while back, and the key thing to check is whether the Orders v2 endpoint is returning the default field projection only.

Even though refund_total is listed in the Orders documentation, it isn’t always included in the default response. In those cases, it needs to be explicitly requested using the fields query parameter on the orders endpoint.

For example, adding a fields=refund_total parameter to the request (or explicitly listing all required fields) should cause it to be included in the response, assuming the order has refunds applied.

This behavior is consistent with how several other v2 endpoints handle non-default or computed fields.

Relevant docs:

If that doesn’t surface it, it may indicate the endpoint is returning a summary projection for that request — but in our case, explicitly requesting the field resolved it.

Hope that helps.

Jeff

Thanks @Jeff_Arnold. I tried your suggestion but the field is still not included in the response.

Curious if @OmarAlmonte has had a chance to look at this and has any insight?

Hi @MA_Admin, I’ll be back in the office tomorrow and will review this as soon as I’m in.

@MA_Admin @Pav @Jeff_Arnold I confirmed this is a bug, I will bring it up internally and will give you an update once it is resolved.

@OmarAlmonte appreciate you!

1 Like