Skip to content

V1 API Endpoints ​

GET Agencies ​

This endpoint returns the agency ID for all agencies that have subscribed to a vendor’s application / service. Once an agency subscribes to and agrees to share data with a third-party application through the HawkSoft License Management Portal, their agency ID will be returned.

Request ​

bash
curl -v https://integration.hawksoft.app/vendor/agencies -u [user]:[pwd] --basic

Response ​

txt
An array of one or more agencies subscribed to the vendor

[ 1, 2, 3 ]
txt
No agencies are available to the vendor
txt
The provided credentials are invalid

GET Agency Offices ​

This endpoint returns a list of offices defined for the agency ID.

Request ​

bash
curl -v https://integration.hawksoft.app/vendor/agency/1/offices -u [user]:[pwd] --basic

Response ​

json
Returns an array of one or more Office objects

[
	{
		"OfficeId": 1,
		"OfficeDescription": "",
		"SubAgencyName": "",
		"PrimaryOffice" true,
		"AddressLine1": "",
		"AddressLine2": "",
		"City": "",
		"State": "",
		"Zipcode": ""
	}
]
txt
The provided credentials are invalid
txt
The requested agency is not available to the vendor

GET Changed Clients ​

Get a list of clients changed since a date. These Client IDs can be used when calling the Get Client or Get Client List endpoints.

Request ​

bash
curl -v https://integration.hawksoft.app/vendor/agency/[agencyId]/clients?asOf=[timestamp]&deleted=[deleted] -u [user]:[pwd] --basic

URL Parameters ​

NameTypeOptionalDescription
AgencyIdIntNo

Query Parameters ​

NameTypeOptionalDescription
AsOfDateTimeYes
OfficeIdIntYes
DeletedBooleanYes

Response ​

json
Returns an array of client IDs.
[ 1, 2, 3, 4 ]
txt
The provided credentials are invalid
txt
The requested agency is not available to the vendor

GET Client ​

Request ​

bash
curl -v https://integration.hawksoft.app/vendor/agency/[agencyId]/client/[clientId] -u [user]:[pwd] --basic

Response ​

json
A Client object

{
    "id": 1,
    ...
}
txt

The client does not exist.

POST List Clients ​

Request ​

A JSON array of up to 200 client IDs.

json
[ 1, 2, 3]

cURL Example ​

bash
curl -v -x POST https://integration.hawksoft.app/vendor/agency/[agencyId]/clients -u [user]:[pwd] --basic -d "[ 1, 2, 3]"

Response ​

json
Returns a list of client objects

[
	{
		"id": 1,
		...
	},
	{
		"id": 2,
		...
	}
]
txt
The provided credentials are invalid.
txt
The requested agency is not available to the vendor
txt
Too many client IDs were requested. Try again with fewer than 200 client IDs.

POST Log Note ​

Request ​

Body ​

NameTypeOptionalDescription
ActionLogActionNo
BodyStringNoMax length: 3000 characters.
DescriptionStringNoMax length: 140 characters.
PolicyIndexIntYes
RefIdGuidNo
SuspenseSuspenseYes
TSDateTimeNo

cURL Example ​

bash
curl -v -x POST https://integration.hawksoft.app/vendor/agency/[agencyId]/client/[clientId] -u [user]:[pwd] --basic -d "{ 'refId': [guid], 'ts': 'Wed Sep 16 2026 18:35:07 GMT+0000 (Coordinated Universal Time)', 'policyIndex': 1, 'action': 1, 'description': 'Description', 'body': 'Log note' }"

Response ​

txt
The log was created successfully.
txt
The request was saved and the log will be created next time the agency is connected to the cloud.
txt
Bad request. See response for details.
txt
The provided credentials are invalid.
txt
The requested agency is not available, or the integration does not have permission to access this endpoint.

POST Attachment ​

Attach a file to a client. Supported file types include: pdf, jpg/jpeg, mp3, png, eml, and msg. The maximum file size accepted is 5 Mb.

Request ​

Headers ​

NameTypeOptionalDescription
ActionLogActionNo
DescStringNoBase64 encoded string. Description of the attachment file.
FileExtStringNoValid file types: png, pdf, txt, jpg, jpeg, mp3
FileNameStringNoBase64 encoded string. The name of the file, excluding the file extension.
LogBodyStringNoBase64 encoded string.
LogDescriptionStringNoBase64 encoded string.
PolicyIndexIntYes
RefIdGuidNo
SuspendedForAgentRoleNo
SuspendedForInitialsStringNo
SuspenseCategoryStringNoBase64 encoded string.
SuspenseDueDateDateTimeNo
TSDateTimeNo

Body ​

The body should contain the attachment file compressed using gzip. Other compression formats are not supported.

Response ​

txt
The attachment was created successfully.
txt
The request was saved and the attachment will be created next time the agency is connected to the cloud.
txt
Bad request. See response for details.
txt
The provided credentials are invalid.
txt
The requested agency is not available, or the integration does not have permission to access this endpoint.

Log Actions ​

ValueDescription
1Phone To Insured
2Phone To Carrier
3Phone To Agency Staff
4Phone To 3rd Party
5Phone From Insured
6Phone From Carrier
7Phone From Agency Staff
8Phone From 3rd Party
9Mail To Insured
10Mail To Carrier
11Mail To Agency Staff
12Mail To 3rd Party
13Mail From Insured
14Mail From Carrier
15Mail From Agency Staff
16Mail From 3rd Party
17Walk In To Insured
18Walk In To Carrier
19Walk In To Agency Staff
20Walk In To 3rd Party
21Walk In From Insured
22Walk In From Carrier
23Walk In From Agency Staff
24Walk In From 3rd Party
25Online To Insured
26Online To Carrier
27Online To Agency Staff
28Online To 3rd Party
29Online From Insured
30Online From Carrier
31Online From Agency Staff
32Online From 3rd Party
33Email To Insured
34Email To Carrier
35Email To Agency Staff
36Email To 3rd Party
37Email From Insured
38Email From Carrier
39Email From Agency Staff
40Email From 3rd Party
41Text To Insured
42Text To Carrier
43Text To Agency Staff
44Text To 3rd Party
45Text From Insured
46Text From Carrier
47Text From Agency Staff
48Text From 3rd Party
49Chat To Insured
50Chat To Carrier
51Chat To Agency Staff
52Chat To 3rd Party
53Chat From Insured
54Chat From Carrier
55Chat From Agency Staff
56Chat From 3rd Party
JSON
json
{
  "1": "Phone To Insured",
  "2": "Phone To Carrier",
  "3": "Phone To Agency Staff",
  "4": "Phone To 3rd Party",
  "5": "Phone From Insured",
  "6": "Phone From Carrier",
  "7": "Phone From Agency Staff",
  "8": "Phone From 3rd Party",
  "9": "Mail To Insured",
  "10": "Mail To Carrier",
  "11": "Mail To Agency Staff",
  "12": "Mail To 3rd Party",
  "13": "Mail From Insured",
  "14": "Mail From Carrier",
  "15": "Mail From Agency Staff",
  "16": "Mail From 3rd Party",
  "17": "Walk In To Insured",
  "18": "Walk In To Carrier",
  "19": "Walk In To Agency Staff",
  "20": "Walk In To 3rd Party",
  "21": "Walk In From Insured",
  "22": "Walk In From Carrier",
  "23": "Walk In From Agency Staff",
  "24": "Walk In From 3rd Party",
  "25": "Online To Insured",
  "26": "Online To Carrier",
  "27": "Online To Agency Staff",
  "28": "Online To 3rd Party",
  "29": "Online From Insured",
  "30": "Online From Carrier",
  "31": "Online From Agency Staff",
  "32": "Online From 3rd Party",
  "33": "Email To Insured",
  "34": "Email To Carrier",
  "35": "Email To Agency Staff",
  "36": "Email To 3rd Party",
  "37": "Email From Insured",
  "38": "Email From Carrier",
  "39": "Email From Agency Staff",
  "40": "Email From 3rd Party",
  "41": "Text To Insured",
  "42": "Text To Carrier",
  "43": "Text To Agency Staff",
  "44": "Text To 3rd Party",
  "45": "Text From Insured",
  "46": "Text From Carrier",
  "47": "Text From Agency Staff",
  "48": "Text From 3rd Party",
  "49": "Chat To Insured",
  "50": "Chat To Carrier",
  "51": "Chat To Agency Staff",
  "52": "Chat To 3rd Party",
  "53": "Chat From Insured",
  "54": "Chat From Carrier",
  "55": "Chat From Agency Staff",
  "56": "Chat From 3rd Party"
}

Suspense ​

NameTypeOptionalDescription
CategoryStringYes
DueDateDateTimeNo
SuspendedForAgentRoleNo
SuspendedForInitialsStringYes