Unable to Set `is_individual` Field via API 👤

Gday ServiceM8 Team,

I’m building an integration and I’ve encountered an issue with the is_individual field when creating Company records.


The Issue

When creating a Company via POST /api_1.0/company.json, the is_individual field is accepted without error, but the value is always stored as 0 (Business) — regardless of what value I send.


What I’ve Tried

I’ve tested multiple formats for the is_individual field:

| Value Sent | Type | Stored Result |

| 1 | number | 0 |

| "1" | string | 0 |

| true | boolean | 0 |

| "true" | string | 0 |

I also tried updating existing companies — same result, the field doesn’t change.


Example Request


curl -X POST "https://api.servicem8.com/api_1.0/company.json" \

-H "X-API-Key: [API_KEY]" \

-H "Content-Type: application/json" \

-d '{"name": "John Smith", "is_individual": 1, "active": 1}'

Expected: is_individual = 1 (Person)

Actual: is_individual = 0 (Business)


Additional Context

I can confirm that existing companies in my account do have is_individual = 1, so the field definitely supports both values. These were likely created via the web UI.


Questions

  1. Is setting is_individual via API currently supported?

  2. If not, is there another way to create Person/Individual clients programmatically?

  3. If this is unintended behaviour, are there plans to address it?

Any guidance would be greatly appreciated!

Thanks

Hi David,

is_individual isn’t user-settable via the API (even though it appears in the API schema), because it’s automatically derived when a Company record is saved.

Specifically, is_individual is calculated based on whether the Company name matches the Contact first/last name (for example, exactly “First Last” or “Last, First”), so any value you send for is_individual will be overwritten during save.

If you need is_individual = 1, make sure the Company name exactly matches the Contact first/last name in one of those formats.

From an API workflow point of view, you can still create/update the Company via POST /company.json and POST /company/{uuid}.json, and create the linked contact via POST /companycontact.json (using company_uuid, first, and last).

On the roadmap side, we generally won’t comment on if/when changes might be released, and feature feedback is handled via support@servicem8.com.

Once you’ve got the Company name and Contact first/last lined up exactly, re-check the Company record and reply here with whether is_individual is coming back as 1.

Thanks,
Cody