All of these can be obtained via REST. You just have to ask for them because they are optional properties.
If you make a GET
request to https://api.infusionsoft.com/crm/rest/v1/contacts/model it will return the model data. For my app it returns something like this:
{
"custom_fields": [
{
"id": 1,
"label": "CUS-6900FieldA",
"options": [],
"record_type": "CONTACT",
"field_type": "Text"
},
{
"id": 3,
"label": "CUS-6900FieldB",
"options": [],
"record_type": "CONTACT",
"field_type": "Text"
}
],
"optional_properties": [
"birthday",
"opt_in_reason",
"preferred_locale",
"website",
"notes",
"custom_fields",
"prefix",
"origin",
"source_type",
"time_zone",
"suffix",
"lead_source_id",
"social_accounts",
"fax_numbers",
"relationships",
"spouse_name",
"contact_type",
"company_name",
"job_title",
"anniversary",
"preferred_name"
]
}
As you can see those fields are part of the optional_properties
so when you request the contact you can add which properties you want returned by adding them to the optional_properties
query param for example &optional_properties=relationships,contact_type,lead_source_id,source_type,opt_in_reason