REST API: Individuals
Using the Individuals REST API, you can create, search, update and view the full detail of individuals within your AMS+ account.
When creating or updating field values that use a checkbox list or dropdown with user-defined values in Data & Custom Fields via API request, please note that any new values that did not previously exist will be automatically added.
Individual Resources
Create
RESOURCE URI
https://app.agencybloc.com/api/v1/individuals/create
REQUIRED POST PARAMETERS
You must POST the following parameters via the body of the request. Parameters found in the querystring of the request will be ignored:
| Parameter | Description |
|---|---|
| lastName | The last name of the new individual that is being created in your AMS+ account. |
| firstName | The first name of the new individual that is being created in your AMS+ account. |
ADDITIONAL POST PARAMETERS
You may also POST any of the following parameters:
| Parameter | Description |
|---|---|
| middleInitial | The middle initial of the new individual that is being created in your AMS+ account. |
| title | The title for the new individual that is being created in your AMS+ account. |
| nickName | The nickname of the new individual. |
| birthDate | The birth date of the new individual that is being created in your AMS+ account. |
| deceasedDate | The deceased date of the new individual. |
| ssn | The social security number of the new individual being created in your AMS+ account. |
| driversLicenseNum | The driver's license number of the new individual. |
| medicareBeneficiaryID | The Medicare Beneficiary ID (MBI) of the new individual. |
| medicareEffectiveDatePartA | The Medicare Part A Effective Date of the new individual. |
| medicareEffectiveDatePartB | The Medicare Part B Effective Date of the new individual. |
| gender | The gender of the new individual being created in your AMS+ account. |
| smokerStatus | The smoker/tobacco status for an individual, 'Yes' or 'No'. |
| The email of the new individual being created in your AMS+ account. | |
| status* | The status of the new individual being created in your AMS+ account. This value will populate the 'Status' dropdown within the 'Individual Detail' section of the new individual being created. |
| type* | The type of the new individual being created in your AMS+ account. This value will populate the 'Type' dropdown within the 'Individual Detail' section of the new individual being created. |
| projectCode* | The projectCode of the new individual being created in your AMS+ account. This value will populate the 'Project Code' dropdown within the 'Lead' section of the new individual being created. |
| leadSource* | The leadSource of the new individual being created in your AMS+ account. This value will populate the 'Lead Source' dropdown within the 'Lead' section of the new individual being created. |
| leadSourceOther | The leadSourceOther of the new individual being created in your AMS+ account. This value will populate the 'Other Lead Source' textbox within the 'Lead' section of the new individual being created. |
| leadDate | The leadDate of the new individual being created in your AMS+ account. This value will populate the 'Lead Date' textbox within the 'Lead' section of the new individual being created. Please format as 'mm/DD/yyyy'. |
| tags** |
Users can pass a single tag or multiple tag values. These values will populate in the ‘Tags’ field on the individual.
|
| externalID | The externalID of the new individual being created in your AMS+ account. This value is not represented anywhere inside AMS+ and is to be used as unique identifier between AMS+ and third party applications. |
| groupID | The groupID that the new individual being created in your AMS+ account will be tied to. This value will need to be retrieved using either a group 'search' or group 'detail' call to the AMS+ API. |
When sending gender via POST, please format using M for a male or F for a female. When sending email field via POST, please ensure that all email addresses are formatted as name@example.com. When sending dates via POST, please ensure that the dates are formatted as 01/01/2013.
| Parameter | Description |
|---|---|
| homePhone | The home phone number of the new individual that is being created in your AMS+ account. This value will be displayed in the 'Contact Information' section of the new individual being created. |
| cellPhone | The cell phone number of the new individual that is being created in your AMS+ account. This value will be displayed in the 'Contact Information' section of the new individual being created. |
| businessPhone | The business phone number of the new individual that is being created in your AMS+ account. This value will be displayed in the 'Contact Information' section of the new individual being created. |
When sending phone numbers via POST, please ensure that all phone numbers are formatted as (319) 555-0000.
You may also POST address information for the new individual using these parameters:
Note: You can also create, update and delete addresses using the Addresses API.
| Parameter | Description |
|---|---|
| addrType* | The address type of the new individual that is being created in your AMS+ account. This value will be displayed in the 'Contact Information' section of the new individual being created. |
| street1 | The first line of the address of the new individual that is being created in your AMS+ account. This value will be displayed in the 'Contact Information' section of the new individual being created. |
| street2 | The second line of the address of the new individual that is being created in your AMS+ account. This value will be displayed in the 'Contact Information' section of the new individual being created. |
| city | The city of the new individual that is being created in your AMS+ account. This value will be displayed in the 'Contact Information' section of the new individual being created. |
| stateAbbrev | The state abbreviation of the new individual that is being created in your AMS+ account. This value will be displayed in the 'Contact Information' section of the new individual being created. |
| zip | The zip code of the new individual that is being created in your AMS+ account. This value will be displayed in the 'Contact Information' section of the new individual being created. |
You may also POST agent information for the new individual using these parameters:
| Parameter | Description |
|---|---|
| servicingAgentID | The ID of the servicing agent within AMS+ that is assigned to the new individual that is being created in your AMS+ account. This value will be used to display the 'Servicing Agent' in the 'Individual Detail' section of the new individual being created. |
| servicingAgentLastName | The last name of the servicing agent within AMS+ that is assigned to the new individual that is being created in your AMS+ account. This value will be used to display the 'Servicing Agent' in the 'Individual Detail' section of the new individual being created. |
| servicingAgentFirstName | The first name of the servicing agent within AMS+ that is assigned to the new individual that is being created in your AMS+ account. This value will be used to display the 'Servicing Agent' in the 'Individual Detail' section of the new individual being created. |
| leadSourceAgentID | The ID of the lead source agent within AMS+ that is assigned to the new individual that is being created in your AMS+ account. This value will be used to display the 'Agent Lead Source' in the 'Lead Info' section of the new individual being created. |
| leadSourceAgentLastName | The last name of the lead source agent within AMS+ that is assigned to the new individual that is being created in your AMS+ account. This value will be used to display the 'Agent Lead Source' in the 'Lead Info' section of the new individual being created. |
| leadSourceAgentFirstName | The first name of the lead source agent within AMS+ that is assigned to the new individual that is being created in your AMS+ account. This value will be used to display the 'Agent Lead Source' in the 'Lead Info' section of the new individual being created. |
To get the corresponding 'Agent ID' from AMS+, you will need to get the unique identifier used within AMS+. To get this value you will need to navigate to the 'Agent Detail' screen within AMS+. Once you have reached that page you can get the value from the URL:
https://app.agencybloc.com/agents/######/detail
The 'Agent ID' used by AMS+ is represented by the ###### in the link above. By sending this value via POST, the API will assign the corresponding agent to the new individual being created.
When sending the agent's first and last name via POST, the agent's first and last name will need to match exactly as it appears within AMS+. If the names don't match exactly what is on file in AMS+, the agent will not be assigned.
Custom Fields
The REST API allows access to the custom fields inside your account when creating a new individual. In order to pass custom fields via the REST API, you will need to preface the names of the custom fields inside your account with 'custom_'. To obtain the name values for the custom fields, you will need to access the custom fields page below.
https://app.agencybloc.com/settings/custom-fields/Individual/list
By selecting the entity type from the dropdown, you will see the list of that entity's custom fields. All names must match exactly what is listed on the page, along with the preface of 'custom_'.
Note: When passing custom field data for Checkbox List custom fields, multiple values need to be separated by ||. For example, “option 1||option 2”.
RESPONSE
A return response will be generated after you have consumed the API. Upon successfully creating a new individual inside your AMS+ account, you will get a return status of 200 along with the individualID as seen below.
{
"Agencybloc Response": {
"Status":"200",
"individualID":"123456",
"Action":"create"
}
}Search
RESPONSE URI
https://app.agencybloc.com/api/v1/individuals/search
REQUIRED POST PARAMETERS
There are no required POST parameters for searching. However, if you do not include any parameters the results are limited to 50 individuals.
ADDITIONAL POST PARAMETERS
You may POST any of the following parameters to search for an individual:
| Parameter | Description |
|---|---|
| firstName | The first name of the individual being searched. |
| lastName | The last name of the individual being searched. |
| middleInitial | The middle initial of the individual being searched. |
| birthDate | The birth date of the individual being searched. |
| ssn | The social security number of the individual being searched. |
| The email of the individual being searched. | |
| homePhone | The home phone number of the individual being searched. |
| cellPhone | The cell phone number of the individual being searched. |
| businessPhone | The business phone number of the individual being searched. |
| anyPhone | Pass this parameter in to search all phone numbers (home,cell,business). |
| groupID | The group identifier of the individual being searched. |
| updatedDTM | The date and time of last update within AMS+ for the individual being searched. Returns individuals modified on or after the date and time value sent via the POST. Time is optional. If you send only a date, the search begins at 12:00 AM Central Time on that date. |
| updatedDTMBefore | Returns individuals modified before the date and time value sent via the POST. This is an exclusive upper bound, so individuals updated at exactly that date and time are not returned. Accepts the same formats as updatedDTM. Send updatedDTMBefore on its own, or together with updatedDTM to search a window of time. |
| limit | Pass in the limit parameter for a custom number of results. If a limit isn't present, defaults to show 50 results. If the limit is 0, returns all results. |
When sending dates via POST, please ensure that the dates are formatted as 01/01/2013. For updatedDTM and updatedDTMBefore, see Searching by date and time below for additional formats that include a time.
SEARCHING BY DATE AND TIME
Use updatedDTM and updatedDTMBefore to find individuals updated within a window of time. You can send either parameter on its own, or send both together.
| Format | Example | How it is read |
|---|---|---|
yyyy-MM-dd |
2026-09-02 |
12:00 AM (midnight) Central Time on that date |
yyyy-MM-dd HH:mm:ss |
2026-09-02 14:30:00 |
That time, in Central Time |
yyyy-MM-ddTHH:mm:ss |
2026-09-02T14:30:00 |
That time, in Central Time (ISO 8601) |
yyyy-MM-ddTHH:mm:ss plus a UTC offset |
2026-09-02T14:30:00-05:00 or 2026-09-02T19:30:00Z
|
The offset is honored and the time is converted to Central Time |
- If you do not include a UTC offset, the time is treated as Central Time. If you include an offset, it is honored and converted to Central Time.
- Include seconds (
HH:mm:ss) whenever you send a time. Other date formats, such as01/01/2013, are still accepted but are treated as date only, and any time in them is ignored. -
updatedDTMBeforeis an exclusive upper bound, so individuals updated at exactly that date and time are not returned. Use one window'supdatedDTMBeforeas the next window'supdatedDTMto search back to back without gaps or overlap. - When you send
updatedDTMorupdatedDTMBefore, results are returned in order of last update, oldest first. This makeslimitreturn a predictable set of individuals. - Each result includes
updatedDTM, the date and time of the individual's last update in Central Time. - Only changes to the individual record itself update this date and time. Changes to related information, such as phone numbers, addresses, and custom fields, do not.
Daylight saving time: AMS+ stores update times in Central Time without a UTC offset. In the fall, when clocks move back, the hour from 1:00 AM to 1:59 AM occurs twice, and records saved during either occurrence have times in that range. In the spring, when clocks move forward, the hour from 2:00 AM to 2:59 AM does not occur. A UTC offset in your search is converted to Central Time before the search runs, so it does not distinguish the two occurrences of the repeated hour. If your integration searches on a schedule, search the repeated hour again each fall and use the record ID to remove duplicates.
If a value is not recognized, the API returns a 400 error that names the parameter and lists the accepted formats:
{
"Agencybloc Response": {
"Exception": {
"Status":"400",
"Title":"Invalid updatedDTM",
"Message":"Expected yyyy-MM-dd, yyyy-MM-dd HH:mm:ss, yyyy-MM-ddTHH:mm:ss, or yyyy-MM-ddTHH:mm:ss with a UTC offset such as -05:00 or Z. Values without an offset are treated as US Central. Other recognized date formats such as MM/dd/yyyy are still accepted and are treated as date only; send one of the formats above to filter on a time of day."
}
}
}RESPONSE
The response will be a list of individuals matching your criteria in JSON format.
The detail_url is the url that can be used to retrieve the full detail of the individual.
[
{
"individualID":123456,
"firstName":"Example",
"middleInitial":"M",
"lastName":"Example",
"email":"example@example.com",
"birthDate":"1111-11-11T00:00:00",
"ssn":"123-45-6789",
"homePhone":"(555) 555-5555",
"businessPhone":"(444) 444-4444",
"cellPhone":"(333) 333-3333",
"updatedDTM":"1111-11-11T00:00:00",
"detailURL":"https://app.agencybloc.com/api/v1/individuals/detail"
},
{
"individualID":54321,
"firstName":"Example",
"middleInitial":"M",
"lastName":"Example",
"email":"example@example.com",
"birthDate":"1111-11-11T00:00:00",
"ssn":"123-45-6789",
"homePhone":"(555) 555-5555",
"businessPhone":"(444) 444-4444",
"cellPhone":"(333) 333-3333",
"updatedDTM":"1111-11-11T00:00:00",
"detailURL":"https://app.agencybloc.com/api/v1/individuals/detail"
}
]Detail
RESOURCE URI
https://app.agencybloc.com/api/v1/individuals/detail
REQUIRED POST PARAMETERS
| Parameter | Description |
|---|---|
| individualID | The individualID returned from the search response |
ADDITIONAL POST PARAMETERS
You may POST the following parameter to include activities for an individual:
| Parameter | Description |
|---|---|
| includeActivities | Includes all activities associated with the individual in the response. |
When sending includeActivities via POST, please format using 1 to include activities. Not passing in includeActivities or formatting using 0 will not return activities.
RESPONSE
The response will be the full detail of the individual selected and include all addresses associated with an individual.
{
"individualID": 123456,
"firstName": "Example",
"middleInitial": "J",
"lastName": "Example",
"email": "example@example.com",
"nickname": "example",
"birthDate": "1111-11-11T00:00:00",
"gender": "M",
"ssn": "123456789",
"medicareID": "121212",
"title": "example",
"servicingAgentName": "Firstname Lastname",
"leadSource": "example",
"leadSourceOther": "example",
"leadSourceAgentName": "Firstname Lastname",
"leadDtm": "1111-11-11T00:00:00",
"createDtm": "1111-11-11T00:00:00",
"updateDtm": "1111-11-11T00:00:00",
"projectCode": "example",
"status": "example",
"type": "example",
"groupID": "1234",
"externalID": "1234",
"homePhone": "(555) 555-5555",
"homePhoneExt": "",
"businessPhone": "(444) 444-4444",
"businessPhoneExt": "",
"cellPhone": "(333) 333-3333",
"cellPhoneExt": "",
"addresses": [
{
"addressID": 1111,
"entityID": 123456,
"entityType": "Individual",
"addressType": "Business",
"street1": "122 Test St",
"street2": "",
"city": "Cedar Falls",
"stateAbbrev": "IA",
"zip": "50613"
},
{
"address_id": 22222,
"entityID": 123456,
"entityType": "Individual",
"addressType": "Home",
"street1": "123 Example St.",
"street2": "",
"city": "Cedar Falls",
"stateAbbrev": "IA",
"zip": "50613"
}
],
"policies": [
{
"PolicyID": 1111,
"HolderID": 123456,
"HolderType": "Individual",
"HolderName": "Example, Example",
"AgentID": 3333,
"AgentName": "Lastname, Firstname",
"AgentNumID": 1,
"CarrierID": 4444,
"CarrierName": "BCBS",
"StatusLookupID": 10000,
"StatusDescript": "Active",
"SignedByAgentID": 0,
"SignedByAgentName": ", ",
"AcctMgrUserID": 0,
"AcctMgrName": null,
"PolicyNumber": "123456789",
"EffectiveDate": "2016-01-01T00:00:00",
"RenewalDate": null,
"RenewalIncrease": 0,
"TermDate": null,
"Lives": 0,
"WaitingPeriod": "",
"Notes": "",
"CommissionFreq": 0,
"ClientID": 0,
"Active": 1,
"Deleted": 0,
"CoverageTypeLookupID": 11000,
"CoverageTypeDescript": "MAPD",
"Classifications": "",
"Premium": 100,
"ProjectCodeLookupID": 0,
"ProjectCodeDescript": "",
"AppSubmitDate": null,
"PayFreq": 0
}
],
"activities":[
{
"activity_id":1111,
"activity_date":"2019-01-21",
"subject":"Lorem Ipsum",
"notes":"Lorem ipsum dolor sit amet.",
"status":"In Progress",
"type":"Renewal",
"method":"Email",
"priority":"Medium",
"related_policy_id":0,
"FU_user_id":0,
"FU_user_first_name":"Firstname",
"FU_user_last_name":"Lastname",
"FU_team_name":"Team Name",
"followup_allday":0,
"FU_date":"2019-01-01",
"FU_UTC_start_time":"14:00:00",
"FU_UTC_end_time":"15:00:00"
}
],
"customFields": [
{
"Name": "Custom Field 1",
"Value": [
"Example"
]
},
{
"Name": "Custom Field 2 (Multi-Select)",
"Value": [
"option 1||option 2"
]
}
]
}
Note: If you want the full follow-up date and time, you will need to concatenate FU_date with the corresponding FU_UTC start/end time when consuming the API.
Update
RESPONSE URI
https://app.agencybloc.com/api/v1/individuals/update
REQUIRED POST PARAMETERS
You must POST the following parameters via the body of the request. Parameters found in the querystring of the request will be ignored:
| Parameter | Description |
|---|---|
| individualID | The individualID of the individual that is being updated. |
ADDITIONAL POST PARAMETERS
You may also POST any of the following parameters:
| Parameter | Description |
|---|---|
| firstName | The first name of the individual that is being updated in your AMS+ account. |
| lastName | The last name of the individual that is being updated in your AMS+ account. |
| middleInitial | The middle initial of the individual that is being updated in your AMS+ account. |
| title | The title for the individual that is being updated in your AMS+ account. |
| birthDate | The birth date of the individual that is being updated in your AMS+ account. |
| ssn | The social security number of the individual being updated in your AMS+ account. |
| gender | The gender of the individual being updated in your AMS+ account. |
| The email of the individual being updated in your AMS+ account. | |
| status* | The status of the individual being updated in your AMS+ account. This value will populate the 'Status' dropdown within the 'Individual Detail' section of the individual being updated. |
| type* | The type of the individual being updated in your AMS+ account. This value will populate the 'Type' dropdown within the 'Individual Detail' section of the individual being updated. |
| projectCode* | The projectCode of the individual being updated in your AMS+ account. This value will populate the 'Project Code' dropdown within the 'Lead' section of the individual being updated. |
| leadSource* | The leadSource of the individual being updated in your AMS+ account. This value will populate the 'Lead Source' dropdown within the 'Lead' section of the individual being updated. |
| leadSourceOther | The leadSourceOther of the individual being updated in your AMS+ account. This value will populate the 'Other Lead Source' textbox within the 'Lead' section of the individual being updated. |
| leadDate | The leadDate of the individual being updated in your AMS+ account. This value will populate the 'Lead Date' textbox within the 'Lead' section of the individual being updated. Please format as 'mm/DD/yyyy'. |
| tags** |
Users can pass a single tag or multiple tag values. These values will populate in the ‘Tags’ field on the individual.
|
| externalID | The externalID of the new individual being updated in your AMS+ account. This value is not represented anywhere inside AMS+ and is to be used as unique identifier between AMS+ and third party applications. |
| groupID | The groupID that the new individual being updated in your AMS+ account will be tied to. This value will need to be retrieved using either a group 'search' or group 'detail' call to the AMS+ API. |
When sending gender via POST, please format using M for a male or F for a female. When sending email via POST, please ensure that all email addresses are formatted as name@example.com. When sending dates via POST, please ensure that the dates are formatted as 01/01/2013.
You may also POST phone numbers for the individual using these parameters:
| Parameter | Description |
|---|---|
| homePhone | The home phone number of the individual that is being updated in your AMS+ account. This value will be displayed in the 'Contact Information' section of the individual being updated. |
| cellPhone | The cell phone number of the individual that is being updated in your AMS+ account. This value will be displayed in the 'Contact Information' section of the individual being updated. |
| businessPhone | The business phone number of the individual that is being updated in your AMS+ account. This value will be displayed in the 'Contact Information' section of the individual being updated. |
When sending phone numbers via POST, please ensure that all phone numbers are formatted as (319) 555-0000.
Note: You may also update addresses for the individual using the Addresses API.
You may also POST agent information for the individual using these parameters:
| Parameter | Description |
|---|---|
| servicingAgentID | The ID of the servicing agent within AMS+ that is assigned to the individual that is being updated in your AMS+ account. This value will be used to display the 'Servicing Agent' in the 'Individual Detail' section of the individual being updated. |
| servicingAgentLastName | The last name of the servicing agent within AMS+ that is assigned to the individual that is being updated in your AMS+ account. This value will be used to display the 'Servicing Agent' in the 'Individual Detail' section of the individual being updated. |
| servicingAgentFirstName | The first name of the servicing agent within AMS+ that is assigned to the individual that is being updated in your AMS+ account. This value will be used to display the 'Servicing Agent' in the 'Individual Detail' section of the individual being updated. |
| leadSourceAgentID | The ID of the lead source agent within AMS+ that is assigned to the individual that is being updated in your AMS+ account. This value will be used to display the 'Agent Lead Source' in the 'Lead Info' section of the individual being updated. |
| leadSourceAgentLastName | The last name of the lead source agent within AMS+ that is assigned to the individual that is being updated in your AMS+ account. This value will be used to display the 'Agent Lead Source' in the 'Lead Info' section of the individual being updated. |
| leadSourceAgentFirstName | The first name of the lead source agent within AMS+ that is assigned to the individual that is being updated in your AMS+ account. This value will be used to display the 'Agent Lead Source' in the 'Lead Info' section of the individual being updated. |
To get the corresponding 'Agent ID' from AMS+, you will need to get the unique identifier used within AMS+. To get this value you will need to navigate to the 'Agent Detail' screen within AMS+. Once you have reached that page you can get the value from the URL:
https://app.agencybloc.com/agents/######/detail
The 'Agent ID' used by AMS+ is represented by the ###### in the link above. By sending this value via POST, the API will assign the corresponding agent to the new individual being created.
When sending the agent's first and last name via POST, the agent's first and last name will need to match exactly as it appears within AMS+. If the names don't match exactly what is on file in AMS+, the agent will not be assigned.
Custom Fields
The REST API allows access to the custom fields inside your account when updating an individual. In order to pass custom fields via the AMS+ REST API, you will need to preface the names of the custom fields inside your account with 'custom_'. To obtain the name values for the custom fields, you will need to access the custom fields page below.
https://app.agencybloc.com/settings/custom-fields/Individual/list
By selecting the entity type from the dropdown, you will see the list of that entity's custom fields. All names must match exactly what is listed on the page, along with the preface of 'custom_'.
Note: When passing custom field data for Checkbox List custom fields, multiple values need to be separated by ||. For example, “option 1||option 2”.
RESPONSE
A return response will be generated after you have consumed the API. Upon successfully updating an individual inside your AMS+ account, you will get a return status of 200 along with the groupID as seen below.
{
"Agencybloc Response": {
"Status":"200",
"individualID":"123456",
"Action":"update"
}
}Exception Responses
The exception responses will include status, title, and message and be in JSON format.
{
"Agencybloc Response": {
"Exception": {
"Status":"Status Code",
"Title":"Title of Error",
"Message":"Error Message"
}
}
}