# API to Create Custom Fields

**URL:** <https://integration.keap.com/t/api-to-create-custom-fields/5800>\
**Category:** API Q&A\
**Created:** [July 19, 2017, 1:47am UTC](https://integration.keap.com/t/api-to-create-custom-fields/5800 "2017-07-19T01:47:40Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![tdelam](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/tdelam/32/341_2.png) [@tdelam](https://integration.keap.com/u/tdelam)\
**Post date:** [July 19, 2017, 1:47am UTC](https://integration.keap.com/t/api-to-create-custom-fields/5800/1 "2017-07-19T01:47:40Z")

</div>

Hi,

I am looking for documentation as to creating custom fields. I have a form with many additional fields that are custom fields and would like to send this over the API and save it for a contact. Can anyone shed some guidance on this?

Thanks!

---

<div class="post-metadata">

**Author:** ![John\_Borelli](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/john_borelli/32/11880_2.png) [@John\_Borelli](https://integration.keap.com/u/John_Borelli)\
**Post date:** [July 19, 2017, 2:00am UTC](https://integration.keap.com/t/api-to-create-custom-fields/5800/2 "2017-07-19T02:00:36Z")

</div>

Trevor,

What version of the api are you using or wanting to use? (sdk, api, REST)?

---

<div class="post-metadata">

**Author:** ![tdelam](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/tdelam/32/341_2.png) [@tdelam](https://integration.keap.com/u/tdelam)\
**Post date:** [July 19, 2017, 2:02am UTC](https://integration.keap.com/t/api-to-create-custom-fields/5800/3 "2017-07-19T02:02:47Z")

</div>

Hi John,

Thanks for the reply. I am using version 1.0 and using REST

---

<div class="post-metadata">

**Author:** ![John\_Borelli](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/john_borelli/32/11880_2.png) [@John\_Borelli](https://integration.keap.com/u/John_Borelli)\
**Post date:** [July 19, 2017, 2:06am UTC](https://integration.keap.com/t/api-to-create-custom-fields/5800/4 "2017-07-19T02:06:08Z")

</div>

The REST documentation for updating contacts (what you will use for custom fields) can be found here:  
[https://developer.infusionsoft.com/docs/rest/#!/Contact/updateContactUsingPATCH](https://developer.infusionsoft.com/docs/rest/#!/Contact/updateContactUsingPATCH)

The example of the json submit to the right illustrates adding/editing custom fields:

 ![](https://us1.discourse-cdn.com/flex019/uploads/infusionsoft1/original/2X/b/bb9be91c033733f6c962166c70e7aa3df76331be.png)

---

<div class="post-metadata">

**Author:** ![tdelam](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/tdelam/32/341_2.png) [@tdelam](https://integration.keap.com/u/tdelam)\
**Post date:** [July 19, 2017, 2:17am UTC](https://integration.keap.com/t/api-to-create-custom-fields/5800/5 "2017-07-19T02:17:59Z")

</div>

Ah I see, thanks! Whats partialContactDTO? I see it as a required field. I have not seen this field before.

---

<div class="post-metadata">

**Author:** ![John\_Borelli](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/john_borelli/32/11880_2.png) [@John\_Borelli](https://integration.keap.com/u/John_Borelli)\
**Post date:** [July 19, 2017, 2:54am UTC](https://integration.keap.com/t/api-to-create-custom-fields/5800/6 "2017-07-19T02:54:16Z")

</div>

All DTO’s are structures so not so much a field as a set or specifically a data object. I don’t know of anything that is called ‘partial’ so not sure about that part.

I see…you mean from the parameter list…they’re just saying that not every field is required.

---

<div class="post-metadata">

**Author:** ![tdelam](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/tdelam/32/341_2.png) [@tdelam](https://integration.keap.com/u/tdelam)\
**Post date:** [July 19, 2017, 3:02am UTC](https://integration.keap.com/t/api-to-create-custom-fields/5800/7 "2017-07-19T03:02:23Z")

</div>

gotcha, thanks John!

Trevor

---

<div class="post-metadata">

**Author:** ![Del\_Chefv](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/del_chefv/32/403_2.png) [@Del\_Chefv](https://integration.keap.com/u/Del_Chefv)\
**Post date:** [July 20, 2017, 5:58pm UTC](https://integration.keap.com/t/api-to-create-custom-fields/5800/9 "2017-07-20T17:58:30Z")

</div>

This can be easily done with PHP.

example  
$customField = $infusionsoft-\>contact( ‘update’,$yourContactId, array(‘\_yourcustomfield’ =\> $yourVaraible ) );

---

<div class="post-metadata">

**Author:** ![John\_Borelli](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/john_borelli/32/11880_2.png) [@John\_Borelli](https://integration.keap.com/u/John_Borelli)\
**Post date:** [July 20, 2017, 7:51pm UTC](https://integration.keap.com/t/api-to-create-custom-fields/5800/10 "2017-07-20T19:51:57Z")

</div>

tdelam,

To avoid confusion and since I know you have asked specifically for answers with REST:

Del’s example is an api solution. You can use it but you would have to also install the support files on your server using composer. I thought I’d make sure that was clear since you didn’t ask about the api implementation.
