Error
errorstringShort category or reason phrase for the failure, for example
Validation error.messagestringHuman-readable explanation of what went wrong.
successbooleanIncluded as
falseby some endpoints.retryAfterintegerSeconds to wait before retrying. Returned with
429responses.missingFieldsstring[]Request field names that must be provided for the request to succeed.
codestringMachine-readable code for specific failures, for example
duplicate_contact.detailsOptional validation details (shape varies by endpoint).
ApiKeyResponse
successboolean · requiredidstring · requiredAPI key ID (the
<keyId>part of anhc_<keyId>.<secret>key).namestring · requiredName given to the key when it was created.
accountIdstring · requiredAccount the key belongs to.
permissionsstring[] · requiredPermissions stored on the key: the scopes
readandwrite, or older names (prospects:read, ...) on keys created before scopes. Older keys may still list akeysscope, which no longer does anything.createdAtinteger · int64 · requiredUnix timestamp in milliseconds
activeboolean · required
accountNamestring | nullAccount name when available.
userIdstring | nullThe user a key is scoped to (keys created by connecting an AI tool through MCP). Every request with the key acts as this user.
nullfor an account-wide key.scopesstring[]What the key may do:
read(GET) andwrite(other methods; includes read). Keys created before scopes are shown with what they keep:readandwrite.Enum values:readwrite
ApiListPagination
nextPageTokenstring | nullOpaque token for the next page when cursor pagination is supported.
nullwhen there are no more results.hasMorebooleanTrue when another page is available for cursor-paginated endpoints. Prefer this over inferring solely from
nextPageTokennullity.totalCountintegerTotal matching items when available for this resource. Some endpoints can only report the number of items in the current page; see each operation.
ProspectResponse
successboolean · requireditemobject · requiredA prospect record. Responses return the fields below when they are set on the record. Other fields may appear; ignore fields you do not use.
Example: {"id":"c1a7e9d34b8f4c2aa6d15e0f7b3c9d42","firstName":"Avery","lastName":"Coleman","email":"avery.coleman@example.com","emailLower":"avery.coleman@example.com","phone":"15552345678","stageId":"9a3d7c1e4b2f48d6a5c0e1f9b7d2a346","currentStageId":"9a3d7c1e4b2f48d6a5c0e1f9b7d2a346","currentStage":"New Lead","pipelineId":"3d9a1c7e4b2f46d8a5c0e1f9b7d2a348","ownerId":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","officeId":"7c1e4a9d2b3f46d8a5c0e1f9b7d2a350","sourceId":"2e9a7c1d4b3f46d8a5c0e1f9b2d7a351","labels":["Hot","Inbound"],"title":"Sales Manager","company":"Northwind Health","licenseStatus":"in_progress","address":{"streetAddress":"123 Main St","city":"New York","state":"NY","postalCode":"10001"},"createdAt":1717000000000,"updatedAt":1717003600000}
Activity
idstring · requiredId of the logged message.
prospectIdstring · requireduserIdstring · requiredThe user it was logged for. Outbound texts and emails are credited to this user.
conversationIdstring · requiredThe user's personal (Manual Log / Device Handoff) thread with the prospect, where it was saved.
typestring · enum · requiredEnum values:textemailcalldirectionstring · enum · requiredEnum values:outboundinboundcreatedAtinteger · int64 · requiredWhen it happened (the request's
date, or the time of the request), as Unix epoch milliseconds.contentstring · requiredThe text, the email body, or the call notes (plain text). Empty for a call logged without notes.
subjectstringEmails only.
Outbound emailorInbound emailwhen none was sent.callOutcomestring | null · enumCalls only.
Enum values:connectedvoicemailno-answer
ActivityResponse
successboolean · requireditemobject · requiredA text, email, or call logged with
POST /activities. It is a message in the user's personal thread with the prospect.
NoteResponse
successboolean · requireditemobject · requiredExample: {"id":"d8b2c7a14e9f4d3ab6c05e1f9a7d2c48","body":"Left voicemail and sent a follow-up email.","createdAt":1717007200000,"prospectId":"c1a7e9d34b8f4c2aa6d15e0f7b3c9d42","userId":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","createdBy":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","createdByApi":true,"createdByApiKeyId":"8f4c2a19d7e34b6f9a1c5e2d7b3f8c4a","createdByApiKeyName":"Zapier production key","mentions":[{"userId":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","displayName":"Jamie Lee"}],"pin":true,"fileUrl":null}
NoteReplyListResponse
successboolean · requireditemsobject[] · requiredpaginationobject · requiredPagination metadata. Fields are included only when that resource supports them; some list endpoints return an empty object.
Example: {"nextPageToken":"opaque-page-token-example","hasMore":true,"totalCount":125}
TaskResponse
successboolean · requireditemobject · requiredExample: {"id":"e3f9a1c74b2d4e8aa6d05c1f7b9e2d43","prospectId":"c1a7e9d34b8f4c2aa6d15e0f7b3c9d42","task":"Call prospect after webinar","assignedTo":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","assignedBy":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","createdBy":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","createdAt":1717010800000,"dueAt":1717097200000,"completedAt":null,"completedBy":null,"createdByApi":true,"createdByApiKeyId":"8f4c2a19d7e34b6f9a1c5e2d7b3f8c4a","createdByApiKeyName":"Zapier production key"}
ProspectListResponse
successboolean · requireditemsobject[] · requiredpaginationobject · requiredPagination metadata. Fields are included only when that resource supports them; some list endpoints return an empty object.
Example: {"nextPageToken":"opaque-page-token-example","hasMore":true,"totalCount":125}
NoteListResponse
successboolean · requireditemsobject[] · requiredpaginationobject · requiredPagination metadata. Fields are included only when that resource supports them; some list endpoints return an empty object.
Example: {"nextPageToken":"opaque-page-token-example","hasMore":true,"totalCount":125}
TaskListResponse
successboolean · requireditemsobject[] · requiredpaginationobject · requiredPagination metadata. Fields are included only when that resource supports them; some list endpoints return an empty object.
Example: {"nextPageToken":"opaque-page-token-example","hasMore":true,"totalCount":125}
MeetingResponse
successboolean · requireditemobject · requiredExample: {"id":"f4d8a2c17b9e4f3aa6c01d5e7b2f9c44","prospectId":"c1a7e9d34b8f4c2aa6d15e0f7b3c9d42","meetingDate":1717170000000,"timeZone":"America/New_York","meetingType":"Virtual Meeting","ownerId":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","secondaryOwnerId":null,"assistantId":null,"durationMinutes":60,"location":"Zoom","notes":"Review benefits package and next interview steps.","createdBy":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","createdByApi":true,"createdByApiKeyId":"8f4c2a19d7e34b6f9a1c5e2d7b3f8c4a","createdByApiKeyName":"Zapier production key","createdAt":1717014400000,"updatedAt":1717014400000,"review":null}
MeetingListResponse
successboolean · requireditemsobject[] · requiredpaginationobject · requiredPagination metadata. Fields are included only when that resource supports them; some list endpoints return an empty object.
Example: {"nextPageToken":"opaque-page-token-example","hasMore":true,"totalCount":125}
HireResponse
successboolean · requireditemobject · requiredExample: {"id":"a1b2c3d74e5f4a8eb6d05c1f9a7e2d45","prospectId":"c1a7e9d34b8f4c2aa6d15e0f7b3c9d42","hireDate":1717783200000,"hireDescription":"Started as sales associate","type":"hire","userId":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","createdByApi":true,"createdByApiKeyId":"8f4c2a19d7e34b6f9a1c5e2d7b3f8c4a","createdByApiKeyName":"Zapier production key","createdAt":1717783200000,"updatedAt":1717783200000}
HireListResponse
successboolean · requireditemsobject[] · requiredpaginationobject · requiredPagination metadata. Fields are included only when that resource supports them; some list endpoints return an empty object.
Example: {"nextPageToken":"opaque-page-token-example","hasMore":true,"totalCount":125}
Account
idstringnamestring | nulltimeZonestring | nullIANA time zone of the account, for example
America/New_York.stagesobject[]Stage definitions for every pipeline.
pipelinesobject[]officesobject[]All offices, including inactive ones (
inactive: true).labelsstring[]The account's labels, trimmed, de-duplicated, and sorted alphabetically (ignoring case).
sourcesobject[]usersobject[]Active users on the account.
identitiesobject[]Active identities (the account phone numbers and email addresses used to contact prospects).
AccountResponse
successboolean · requireditemobject · requiredAccount configuration.
id,name, andtimeZoneare always present; the other sections are included when requested withinclude(all sections by default).Example: {"id":"6b3e1a9d4c7f42e8a5d0c1f9b2e7a4c6","name":"Northwind Recruiting","timeZone":"America/New_York","pipelines":[{"id":"3d9a1c7e4b2f46d8a5c0e1f9b7d2a348","name":"Sales Hiring","displayName":"Sales Hiring","default":true}],"stages":[{"id":"9a3d7c1e4b2f48d6a5c0e1f9b7d2a346","name":"New Lead","pipelineId":"3d9a1c7e4b2f46d8a5c0e1f9b7d2a348","default":true,"order":0}],"offices":[{"id":"7c1e4a9d2b3f46d8a5c0e1f9b7d2a350","name":"New York","state":"NY","latitude":40.7505,"longitude":-73.9965}],"sources":[{"id":"2e9a7c1d4b3f46d8a5c0e1f9b2d7a351","name":"Referral"}],"users":[{"id":"b2e7a1d94c3f4a8eb6d05c1f9a7e2d45","displayName":"Jamie Lee","email":"jamie.lee@example.com","firstName":"Jamie","lastName":"Lee","role":"admin","phone":"15559876543"}],"identities":[{"id":"7e1c4a9d2b5f43e8a6d0c3f9b1e7a2d5","name":"Northwind Recruiting Team","email":"recruiting@northwind.example.com","phone":"15552220000","active":true,"description":"Main recruiting line","userIds":["b2e7a1d94c3f4a8eb6d05c1f9a7e2d45"]}]}
KeyNameListResponse
successboolean · requireditemsobject[] · requiredpaginationobject · requiredPagination metadata. Fields are included only when that resource supports them; some list endpoints return an empty object.
Example: {"nextPageToken":"opaque-page-token-example","hasMore":true,"totalCount":125}
IdNameListResponse
successboolean · requireditemsobject[] · requiredpaginationobject · requiredPagination metadata. Fields are included only when that resource supports them; some list endpoints return an empty object.
Example: {"nextPageToken":"opaque-page-token-example","hasMore":true,"totalCount":125}
Prospect
idstringmessagestringOnly on
POST /prospectscreate and lookup responses:Success: prospect created.orSuccess: prospect already exists., followed by a warning when the submitted phone or email was invalid and was not saved.updatebooleanOnly on
POST /prospectscreate and lookup responses. Alwaysfalse.firstNamestringlastNamestringemailstring | nullEmail address. An empty string or
nullmeans none.emailLowerstringLowercased email address, used for matching.
phonestring | null11-digit US/Canada phone number without
+, for example15552345678.stageIdstring | nullStage ID for the prospect. Use the same value on create/update and on list/count filters.
currentStageIdstring | nullSame value as
stageId(older name).currentStagestring | nullDisplay name of the prospect's stage. Read-only; set and filter stage with
stageId.pipelineIdstring | nullPipeline of the current stage.
ownerIdstring | nullUser ID of the prospect owner.
officeIdstring | nullsourceIdstring | nulllabelsstring[]titlestring | nullcompanystring | nulllicenseStatusstring | null · enumEnum values:not_startedin_progresslicensedaddressobjectlatitudenumber | nullLatitude looked up from the address or postal code.
longitudenumber | nullLongitude looked up from the address or postal code.
ooabooleanOut of area. True when the account limits office distance and the prospect is farther than that from the nearest active office.
starredbooleanjobIdstring | nullJob the prospect applied to.
applyAtinteger | null · int64Unix timestamp in milliseconds of the latest job application.
applicationQuestionsobject[]unsubscribedobjectOpt-outs by channel.
truemeans the prospect does not want to be contacted that way.carrierEnrichmentobjectPhone line details looked up when the phone number is saved.
phoneUndeliverableobject · readOnlyPresent when Twilio rejected the prospect's phone for texting and no line type was found for it. Texts to that number are refused until the phone changes. It applies only while
phonestill equalsphoneUndeliverable.phone.lastNoteobjectMost recent note on the prospect.
muteWebhookbooleanTrue when the prospect was created with
muteWebhook, which suppresses its outbound webhooks.createdBystring | nullUser recorded as the creator.
createdByApibooleanTrue when the prospect was created through the API.
createdByApiKeyIdstring | nullcreatedByApiKeyNamestring | nullupdatedBystring | nullUser recorded on the latest update.
changesobject[]Field change history. Update responses return only the entries added by that update.
createdAtinteger | null · int64Unix timestamp in milliseconds
updatedAtinteger | null · int64Unix timestamp in milliseconds
summaryobject | nullAI summary of the prospect, returned by
GET /prospects/{prospectId}.timestampis when the summary was written (Unix milliseconds). A summary newer than 12 hours is returned as stored withrefreshing: false. A missing or older summary is regenerated first, and the request waits up to 5 seconds; if it is not ready by then, the previous summary (ornullcontent) is returned withrefreshing: true.resumeobjectStored resume details when a resume was uploaded.
resumeUploadedobjectOnly on
POST /prospectscreate responses that includedresume.resumeUploadErrorstringOnly on
POST /prospectscreate responses whose resume could not be saved. The prospect is still created.
ProspectUpdates
firstNamestringIgnored when empty.
lastNamestringIgnored when empty.
emailstring | nullNew email address.
nullor an empty string clears it. An invalid address returns400. An address already used by another prospect in the account returns409withcode: duplicate_contact.phonestring | nullNew US/Canada phone number.
nullor an empty string clears it. A value that is not a valid number returns400(field: phone) and the stored phone is kept. A number already used by another prospect returns409withcode: duplicate_contact. A new number is looked up to refreshcarrierEnrichment.titlestring | nullcompanystring | nullstageIdstringMoves the prospect to this stage (and its pipeline) and records the stage change. Moving to a stage named
Hiredalso creates a hire record when the prospect has none.pipelineIdstringMoves the prospect to the default stage of this pipeline. Ignored when
stageIdis sent.labelsLabels to add. Existing labels are kept. Accepts a comma-separated string or an array of strings.
removeLabelsLabels to remove. Accepts a comma-separated string or an array of strings. When both
labelsandremoveLabelsare sent, onlyremoveLabelsis applied.addressobjectAddress fields to change. Omitted fields are kept;
nullor an empty string clears a field. The coordinates are looked up again from the new address.licenseStatusstring | null · enumEnum values:not_startedin_progresslicensedownerIdstringNew owner user ID (from
GET /account/users). When the request includesuserId, that user must be an admin or owner of the account, or the prospect's current owner; otherwise the request returns403.officeIdstring | nullOffice ID from
GET /account/offices.nullclears it.sourceIdstring | nullSource ID from
GET /account/sources.nullclears it.jobIdstringJob ID to link. Ignored when empty.
applyAtinteger | null · int64Job application time, Unix milliseconds.
starredbooleanooabooleanOut-of-area flag.
unsubscribedobjectOpt-outs by channel. Only the channels you send change.
truestops HiringCenter from texting, emailing, or calling the prospect on that channel. The API can opt a prospect out but never back in: setting a channel that is opted out tofalse(or sendingunsubscribed: null) returns403withcode: resubscribe_not_allowed. Only a person signed in to HiringCenter can opt someone back in.applicationQuestionsobject[]Replaces the stored application answers (up to 50). An empty array clears them.
notestringAdds a note to the prospect. HTML is sanitized.
resumeobjectResume file to attach to the prospect. Saving the file also adds a note with a link to it. The whole request body must fit within the 1 MB limit, so the base64 data must be under about 750 KB of file.
ResumeUpload
filenamestring · requiredOriginal file name.
mimeTypestring · enum · requiredFile type.
Enum values:application/pdfapplication/mswordapplication/vnd.openxmlformats-officedocument.wordprocessingml.documenttext/plainimage/jpegimage/jpgimage/pngimage/gifdatastring · required
sizeintegerOptional file size in bytes. Files over 10 MB are rejected.
Note
idstringbodystringNote content as sanitized HTML. Only
b,strong,i,em,u,a,h1-h6,br, and mentionspantags are kept; other tags (includingpanddiv) are removed and their text kept.createdAtinteger · int64Unix timestamp in milliseconds
prospectIdstringuserIdstring | nullUser the note is attributed to, or null when the note was created without a
userId(credited to the API key increatedByApiKeyName).createdBystring | nullSame as
userIdfor notes created through the API.createdByApibooleanTrue when the note was created through the API.
createdByApiKeyIdstring | nullId of the API key that created the note.
createdByApiKeyNamestring | nullName of the API key that created the note.
hiringcenterAibooleanPresent and true when HiringCenter AI wrote the note.
mentionsobject[]Account users mentioned in the note. Mentions of users who are not in the account are dropped.
pinbooleanTrue when the note is pinned on the prospect.
fileUrlstring | null · uriHTTPS link to a file attached to the note.
NoteReply
idstringnoteIdstringNote the reply belongs to.
accountIdstringcontentstringReply content as sanitized HTML (same allowed tags as a note
body).createdAtinteger · int64Unix timestamp in milliseconds
userIdstring | nullUser the reply is attributed to, or null when created without a
userId.createdBystring | nullcreatedByApibooleanTrue when the reply was created through the API.
createdByApiKeyIdstring | nullcreatedByApiKeyNamestring | nullmentionsobject[]
Task
idstringprospectIdstringtaskstringassignedTostringUser id of the assignee, or
hiringcenterAifor a task assigned to HiringCenter AI.assignedBystring | nullUser who created the task, or null when created without a
userId.createdBystring | nullcreatedAtinteger · int64Unix timestamp in milliseconds
updatedAtinteger | null · int64Unix timestamp in milliseconds. Set once the task has been updated or completed.
dueAtinteger | null · int64Unix timestamp in milliseconds
completedAtinteger | null · int64Unix timestamp in milliseconds, or null while the task is open.
completedBystring | nullhiringcenterAibooleanPresent and true when HiringCenter AI created the task.
createdByApibooleanTrue when the task was created through the API.
createdByApiKeyIdstring | nullId of the API key that created the task.
createdByApiKeyNamestring | nullName of the API key that created the task.
updatedBystring | nullUser who last updated the task, when known.
updatedByApiKeyIdstring | nullupdatedByApiKeyNamestring | null
Meeting
idstringprospectIdstringmeetingDateinteger · int64Unix timestamp in milliseconds
timeZonestringIANA time zone name, for example
America/New_York.meetingTypestringMeeting type label. The app uses
In-Person Meeting,Phone Meeting,Virtual Meeting, andOther.ownerIdstringsecondaryOwnerIdstring | nullOptional second owner.
assistantIdstring | nullOptional assistant.
durationMinutesinteger · enumMeeting length in minutes.
Enum values:15304560120locationstring | nullnotesstring | nullcreatedBystring | nullcreatedByApibooleanTrue when the meeting was created through the API.
createdByApiKeyIdstring | nullId of the API key that created the meeting.
createdByApiKeyNamestring | nullName of the API key that created the meeting.
hiringcenterAibooleanPresent and true when HiringCenter AI created the meeting.
createdAtinteger · int64Unix timestamp in milliseconds
updatedAtinteger · int64Unix timestamp in milliseconds
updatedBystring | nullupdatedByApiKeyIdstring | nullupdatedByApiKeyNamestring | nullreviewobject | nullThe meeting's review, recorded after the meeting in the app or with
POST /meetings/{meetingId}.nulluntil the meeting has been reviewed.
Hire
idstringprospectIdstringhireDateinteger · int64Unix timestamp in milliseconds
hireDescriptionstringignoreHirebooleantruewhen the hire is marked as ignored (the app's "Ignore this hire" option).typestringExample: hireuserIdstring | nullUser the hire is attributed to, or null when created without a
userId(credited to the API key increatedByApiKeyName).createdByApibooleanTrue when the hire was created through the API.
createdByApiKeyIdstring | nullcreatedByApiKeyNamestring | nullcreatedAtinteger · int64Unix timestamp in milliseconds
updatedAtinteger · int64Unix timestamp in milliseconds
updatedBystring | nullupdatedByApiKeyIdstring | nullupdatedByApiKeyNamestring | null
ZapierProspectPollRecord
idstringfirst_namestringlast_namestringemailstringphonestring11-digit phone number without
+, or an empty string.titlestringcompanystringstreet_addressstringcitystringstatestringpostal_codestringcountrystringlatitudenumber | nulllongitudenumber | nulltime_zonestringstage_idstringstage_namestringpipeline_idstringpipeline_namestringoffice_idstringoffice_namestringsource_idstringsource_namestringowner_idstringowner_namestringowner_emailstringlabelsstring[]license_statusstringnot_started,in_progress,licensed, or an empty string.created_atstring | null · date-timeupdated_atstring | null · date-timestarredbooleancompleted_meetingbooleanincomplete_meetingbooleanpast_meetingbooleanupcoming_meetingbooleandue_taskbooleanfuture_taskbooleanurlstringaccount_idstringhas_emailbooleanhas_phoneboolean
KeyName
idstring · requiredIdentifier to use in requests (for example
pipelineId,sourceId, orofficeId).keystring · requiredSame value as
id.keySourcestring · enum · requiredidwhen the identifier is the record ID.namewhen the record has no ID and its name is used instead.Enum values:idnameunknownnamestring · requiredDisplay name.
ApiKeyScope
read: GET requests. write: POST, PATCH, and DELETE requests (includes read).
ApiKey
idstring · requiredKey id. Use it as
keyIdin/api-keys/{keyId}paths.Example: 8f4c2a19d7e34b6fkeyIdstring · requiredKey id. Same value as
idfor keys in thehc_<keyId>.<secret>format.Example: 8f4c2a19d7e34b6fnamestring · requiredExample: Zapier production keydescriptionstring · requiredEmpty string when no description is set.
Example: Used by the Zapier integrationaccountIdstring | null · requiredAccount the key belongs to.
Example: 6b3e1a9d4c7f42e8a5d0c1f9b2e7a4c6permissionsstring[] · requiredStored permissions (scopes, or older names on older keys).
keyFormatstring · enum · requiredv2keys have the formhc_<keyId>.<secret>and can be rotated.legacykeys were issued before that format and cannot be rotated; replace them with a new key.Enum values:v2legacystatusstring · enum · requiredEnum values:activeinactiveactiveboolean · requiredTrue when the key can authenticate requests.
secretLast4string | nullLast four characters of the current secret, for telling keys apart. Null for older keys.
Example: Q9xAscopesstring[]What the key may do (see
ApiKeyScope). Older keys are shown with what they keep.Enum values:readwritecreatedAtinteger | null · int64Unix timestamp in milliseconds.
Example: 1717000000000lastUsedAtinteger | null · int64Unix timestamp in milliseconds of the last authenticated request. Updated at most once per minute.
Example: 1717014400000deletedAtinteger | null · int64Unix timestamp in milliseconds when the key was deleted. Null for active keys.
deleteScheduledAtinteger | null · int64Unix timestamp in milliseconds when deletion was requested. Null for active keys.
deleteExpiresAtinteger | null · int64Unix timestamp in milliseconds after which a deleted key is permanently removed and can no longer be reactivated (30 days after deletion). Null for active keys.
keyTypestring | nullReserved. Null for keys created through this API.
usagestring | nullReserved. Null for keys created through this API.
systemManagedbooleanReserved. False for keys created through this API.
hiddenFromSettingsbooleanReserved. False for keys created through this API.
userIdstring | nullThe user the key is scoped to, for keys created by connecting an AI tool through MCP (every request acts as that user).
nullfor account-wide keys, including every key created through this API.createdViastring | nullmcp_oauthfor keys created by connecting an AI tool; otherwisenull.oauthClientNamestring | nullName of the AI tool that was connected (for example
Claude), formcp_oauthkeys.
ApiKeyUpdateRequest
namestring · minLength: 1 · maxLength: 100Example: Zapier key (renamed)descriptionstring · maxLength: 500Example: Rotated quarterly
ApiKeyRotateResponse
successboolean · requiredmessagestring · requiredkeystring · requiredThe new full API key (
hc_<keyId>.<secret>). The key id is unchanged. It is returned only in this response, so store it securely now.Example: hc_8f4c2a19d7e34b6f.Pm7wE4cY2tHq9Rb1nUa6Lk3Didstring · requiredExample: 8f4c2a19d7e34b6fnamestring · requiredpermissionsstring[] · requiredPermissions stored on the key (see
ApiKey).createdAtinteger | null · int64 · requiredUnix timestamp in milliseconds when the key was first created.
activeboolean · required
ApiKeyItemResponse
successboolean · requiredkeyobject · requiredAPI key metadata. The secret is never included; only its last four characters.
Example: {"id":"8f4c2a19d7e34b6f","keyId":"8f4c2a19d7e34b6f","name":"Zapier production key","description":"Used by the Zapier integration","secretLast4":"Q9xA","accountId":"6b3e1a9d4c7f42e8a5d0c1f9b2e7a4c6","permissions":["prospects:read","prospects:write"],"keyFormat":"v2","createdAt":1717000000000,"lastUsedAt":1717014400000,"deletedAt":null,"deleteScheduledAt":null,"deleteExpiresAt":null,"status":"active","active":true,"keyType":null,"usage":null,"systemManaged":false,"hiddenFromSettings":false}
ApiKeyMutationResponse
successboolean · requiredmessagestring · requiredkeyobject · requiredAPI key metadata. The secret is never included; only its last four characters.
Example: {"id":"8f4c2a19d7e34b6f","keyId":"8f4c2a19d7e34b6f","name":"Zapier production key","description":"Used by the Zapier integration","secretLast4":"Q9xA","accountId":"6b3e1a9d4c7f42e8a5d0c1f9b2e7a4c6","permissions":["prospects:read","prospects:write"],"keyFormat":"v2","createdAt":1717000000000,"lastUsedAt":1717014400000,"deletedAt":null,"deleteScheduledAt":null,"deleteExpiresAt":null,"status":"active","active":true,"keyType":null,"usage":null,"systemManaged":false,"hiddenFromSettings":false}

