# V2 API functionality gaps: ContactGroupAssign DateCreated, custom field search, task custom fields

**URL:** <https://integration.keap.com/t/v2-api-functionality-gaps-contactgroupassign-datecreated-custom-field-search-task-custom-fields/93971>\
**Category:** API Q&A\
**Created:** [February 20, 2026, 4:24am UTC](https://integration.keap.com/t/v2-api-functionality-gaps-contactgroupassign-datecreated-custom-field-search-task-custom-fields/93971 "2026-02-20T04:24:02Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![James\_Austin](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@James\_Austin](https://integration.keap.com/u/James_Austin)\
**Post date:** [February 20, 2026, 4:24am UTC](https://integration.keap.com/t/v2-api-functionality-gaps-contactgroupassign-datecreated-custom-field-search-task-custom-fields/93971/1 "2026-02-20T04:24:02Z")

</div>

Good Afternoon,

We’ve been working through our updates to the API and have noted a few gaps, in terms of functionality within the v2 API. Having said that, it is encouraging to see some gaps on my list get implemented as time goes on (e.g. Complete Goal) hence I am hopeful that most use cases will be fulfilled well in advance of the sunset date.

There are some business critical gaps which we have which are yet to be addressed, hence I felt the need to put these forward to understand whether these are on the roadmap to be addressed or to determine what the alternative solution would be.

1. **Retrieve Tags by DateCreated** - we use tags for reporting (e.g. time between tags) and as such it is critically important to be able to retrieve the dates when a tag was applied.

2. **Retrieve Contact by Custom Fields** - one of our legacy systems currently uses one of our Keap instances to manage subscriptions via tags, with payment notifications for subscriptions coming via webhooks from payment providers (which have their own identifier for the contact which is currently stored in a custom field).

3. **Custom Fields on Tasks** - We currently use custom fields for storing metadata on tasks, a lot of which is written to the task via an API. The API docs however state that POST and PUT actions do not support custom fields, are there plans to support this as part of the v2 API and if so when is this likely to be available?

Regards,  
James Austin

---

<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:** [February 20, 2026, 1:51pm UTC](https://integration.keap.com/t/v2-api-functionality-gaps-contactgroupassign-datecreated-custom-field-search-task-custom-fields/93971/2 "2026-02-20T13:51:33Z")

</div>

Hi @James_Austin,

Good morning and thank you for the detailed context.

1. Retrieve Tags by DateCreated  
In v2, we currently have two endpoints that may help with this use case, `GET /contacts/{contact_id}/tags` and `GET /tags/{tag_id}/contacts`.

2. Wildcard filtering is not available in v2. Due to performance considerations, this capability was not included in the current version of the API.

3. This is one of the gaps we’ve identified and it is being tracked in our [Known Issues tracker](https://learn.thryv.com/hc/en-us/articles/42745881470477-Keap-REST-v2-API-known-issues-tracker). I’ll be sure to let you know as soon as we have updates to share regarding support for custom fields on tasks in v2.

Thanks,  
Omar

---

<div class="post-metadata">

**Author:** ![Pav](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/pav/32/124_2.png) [@Pav](https://integration.keap.com/u/Pav)\
**Post date:** [February 20, 2026, 5:06pm UTC](https://integration.keap.com/t/v2-api-functionality-gaps-contactgroupassign-datecreated-custom-field-search-task-custom-fields/93971/3 "2026-02-20T17:06:43Z")

</div>

@James_Austin - Regarding Point 2 see my reply as someone else recently asked for this.

[https://integration.keap.com/t/looking-up-people-via-custom-field/93930/2](https://integration.keap.com/t/looking-up-people-via-custom-field/93930/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:** [May 12, 2026, 4:18pm UTC](https://integration.keap.com/t/v2-api-functionality-gaps-contactgroupassign-datecreated-custom-field-search-task-custom-fields/93971/4 "2026-05-12T16:18:34Z")

</div>

Hey @James_Austin,

Just to add a quick update on point 3, Tasks: GET/POST/PATCH for tasks already supports custom fields in the v2 API.

So you should now be able to include and manage task-level custom field data directly through those endpoints. Docs here for reference: [Keap REST API](https://developer.infusionsoft.com/docs/restv2/#tag/Task)

Thanks for your patience.

---

<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:** [July 16, 2026, 10:10pm UTC](https://integration.keap.com/t/v2-api-functionality-gaps-contactgroupassign-datecreated-custom-field-search-task-custom-fields/93971/5 "2026-07-16T22:10:03Z")

</div>

Hi @James_Austin.

Custom field filtering is now available in REST v2 for the following resources:

- Contacts

- Companies

- Orders

- Affiliates

For these supported resources, custom fields can be filtered just like any other field using the `filter` parameter.

Some highlights:

- Filter custom fields by their **field name** (case-insensitive, as returned by `GET /v2/{resource}/model`).

- Support varies by field type:

If a standard field and a custom field have the same name, the standard field takes precedence.

Please note that filtering on **non-indexed custom fields** is supported but may result in slower query performance.

For complete details and examples, please refer to the [API documentation](https://developer.infusionsoft.com/docs/restv2/).

Support for the remaining resources that currently support custom field filtering in XML-RPC will also be added to REST v2 soon.

---

<div class="post-metadata">

**Author:** ![James\_Austin](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@James\_Austin](https://integration.keap.com/u/James_Austin)\
**Post date:** [July 27, 2026, 12:57pm UTC](https://integration.keap.com/t/v2-api-functionality-gaps-contactgroupassign-datecreated-custom-field-search-task-custom-fields/93971/6 "2026-07-27T12:57:06Z")

</div>

Thanks Omar,

That’s great news. We are almost there in terms of API coverage with Rest V2 for our use cases, but the largest one for us (which is still outstanding) is to be able to search for the tags applied to a contact **without** specifying the contactId and tagId, filtering by since\_applied\_time.

This is essentially the List Tagged Contacts API with two minor tweaks.

1. Not requiring tag\_id as part of the API URI (i.e. call as /rest/v2/tags/contacts instead of /rest/v2/tags/{tag\_id}/contacts)
2. Returning both the tag\_id and the contact\_id in the response

This would resolve being able to find out which new tags have been applied in a time period without having to query for every contact\_id or every tag\_id which would blow through our API quotas.

Regards,

James Austin
