Audit logs

📘

This endpoint is in Beta.

Overview

The Audit Logs endpoint provides structured event data that allows you to monitor access activity within your Spark Hire Recruit account. Logs can be pulled into your SIEM or any other external monitoring solution.

Audit coverage spans the full access layer of the application. Events include successful and failed sign-in attempts, password reset requests and completions, user invitations and signups, role assignments and changes, company-level permission updates, and updates to API access for integrations.

All audit events are returned in a consistent JSON format designed for indexing, correlation, and long-term retention in external systems. Common attributes are provided in a flat structure of SIEM Common Information Model (CIM). These include: a timestamp, actor details, event type, and relevant context to support security investigations.

Audit logs data is retained and available for the past 30 days.

Request

GET https://api.comeet.co/audit-logs

Request query parameters:

ParameterTypeOptionalDescription
time_last_updated:afterstringoptionalReturn logs for which the time_last_updated is AFTER the provided time.
time_last_updated:after=2018-01-01T12:50:50
event_typesstringoptionalComma separated list of event types
actionsstringoptionalComma separated list of actions

Actions

ActionEvent typeDescription
user_loginauthenticationUser login event status is success or failed
reset_password_requestauthenticationUser requests to reset password
password_changedauthenticationUser successfully reset password
sso_integration_changedauthenticationSSO integration was configured / modified / activated / deactivated
support_accessedauthenticationThis event indicates that a support user, a teammate from Sparkhire, signed up and accessed the account
user_inviteduserUser invited another user as a teammate to Recruit
user_signed_upuserInvited user has signed up
user_status_changeduserWhen the user is deactivated/reactivated
user_role_changeduserChanges made to user's roles
permission_changedcompanyChanges made to company-wide permission settings
integration_status_changedintegrationIntegration was activated
candidate_file_downloadeddata_exportThe candidate's resume or other file was downloaded
exported_csvdata_exportUser exported one or more CSV reports
candidate_file_uploadedcandidateUser uploads a file to the candidate card
candidate_file_deletedcandidateUser deleted a file from candidate card

Response

Response structure

Common attributes are provided in a flat structure of SIEM Common Information Model (CIM).

AttributeDescription
timestampTime of event in the following format: 2025-12-03T08:15:22Z
event_idUnique ID of the event
event_typeType of the event as listed in the list of actions above
actionAction name as listed in the table above, e.g. user_login
statusOutcome of the action, e.g. success/failed
userRecruit user email address
user_idRecruit user id
src_ipRecruit user IP address
http_user_agentRecruit user agent information
metadataContextual information for the specific event, e.g. login_type

User login

metadata

AttributeValue
login_typeOne of the following:
sso
password
linkedin
google
errorA short explanation in case of failure

Example

{
  "event_id": "user_login_45.F61",
  "event_type": "authentication",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "user_login",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {
    "login_type": "sso",
    "error": null
  }
}

Reset password request

metadata

N/A

Example

{
  "event_id": "reset_password_request_45.F61",
  "event_type": "authentication",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "reset_password_request",
  "status": "success",  
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",  
  "metadata": { }
}

Password changed

Metadata

N/A

Example

{
  "event_id": "password_changed_45.F61",
  "event_type": "authentication",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "password_changed",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {}
}

User invited

Metadata

AttributeValue
invited_user_emailRecruit user email

Example

{
  "event_id": "user_invited_45.F61",
  "event_type": "user",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "user_invited",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {
    "invited_user_email": "[email protected]"
  }
}

User signed up

Metadata

N/A

Example

{
  "event_id": "user_signed_up_45.F61",
  "event_type": "user",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "user_signed_up",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {}
}

User status changed

Triggered when a user’s account status changes. User details may be unavailable if the change is initiated by SSO.

Metadata

AttributeValue
affected_user_idAffected recruit user ID
affected_userAffected Recruit user (email address)
statusdeactivate /reactivate
initiated_byIndicates who initiated the change: user / sso

Example

{
  "event_id": "user_status_changed_45.F61",
  "event_type": "user",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "user_status_changed",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {
      "affected_user_id": "B4.C21",
      "affected_user": "[email protected]",
      "status": "deactivate",
      "initiated_by": "user"

  }
}
{
  "event_id": "user_status_changed_45.F61",
  "event_type": "user",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "user_status_changed",
  "status": "success",
  "metadata": {
      "affected_user_id": "B4.C21",
      "affected_user": "[email protected]",
      "status": "deactivate",
      "initiated_by": "sso"

  }
}

User role changed

Metadata

AttributeValue
affected_user_idAffected recruit user ID
affected_userAffected Recruit user (email address)
result_ofThe action that lead to the change
contextcompany or location
locationsIn case the context is location, comma-separate list of location names
change_typeadded or removed
rolestring of the role name

Example

{
  "event_id": "user_role_changed_45.F61",
  "event_type": "user",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "user_role_changed",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {
    "affected_user_id": "B4.C21",
    "affected_user": "[email protected]",
    "result_of": "User role reassigned",
    "context": "company",
		"change_type": "added",
    "role": "admin",
  }
}

Permission changed

Metadata

Attributevalue
permission_namePermission name
permission_levelposition or company
before_changeDescription or comma separated list of roles
after_changeDescription or comma separated list of roles

Example

{
  "event_id": "permission_changed_45.F61",
  "event_type": "company",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "permission_changed",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {
    "permission_name": "can_export_data",
    "permission_level": "company",
    "before_change": "owner,admin,recruiter",
    "after_change": "owner,admin"
  }
}

SSO Integration changed

Metadata

AttributeValue
sso_provider_nameSSO provider name, for example: Okta
user_actionThe action that was done by the user, one of: activated / deactivated / configured / modified
Note that activated actually means that the SSO was enforced on all employees.

Example

{
  "event_id": "sso_integration_changed_45.F61",
  "event_type": "authentication",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "sso_integration_changed",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",  
  "metadata": {
    "sso_provider_name": "Okta",
    "user_action": "activated"
  }
}

Support user signup

This event indicates that a support user, a teammate from Sparkhire, signed up and accessed the account

Metadata

AttributeValue
reasonA short verbal explanation of why the support user needed to access the account. It may include links to the internal Sparkhire systems, such as Zendesk.
approverThe person (usually the name of an account member) who approved Sparkhire members to access the account

Example

{
  "event_id": "user_login_45.F61",
  "event_type": "authentication",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "support_accessed",
  "status": "success",
  "user": "support_user" // This one have a fixed value
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {
    "reason": "To check issue reported with candidate 5541231" ← free text
    "approver": "David Gold" ← free text
  }
}

Integration status changed

Metadata

AttributeValue
integration_nameRecruit integration name, for example, Microsoft Teams
integration_uidUnique identifier of the integration
user_actionThe action that was done by the user, one of: activated / deactivated / modified
error (optional)The error that explains the failure (if failed)

Example

{
  "event_id": "integration_status_changed_45.F61",
  "event_type": "integration",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "integration_status_changed",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",  
  "metadata": {
    "integration_name": "Microsoft Teams",
    "integration_uid": "12.4AB", 
    "user_action": "activated"
  }
}

Candidate file downloaded

Metadata

AttributeValue
file_nameName of file
file_typecv / attachment
recruit_idCandidate unique ID

Example

{
  "event_id": "candidate_file_downloaded_45.F61",
  "event_type": "data_export",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "candidate_file_downloaded",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {
    "file_name": "steve_marron_cv.pdf",
    "file_type": "cv",
    "recruit_id": "19E.98"
  }
}

Exported CSV

Metadata

Attributevalue
report_namesComma-separated list of exported report names
position_uid (optional)If the exported report is candidate_list, then this field will be added, indicating the position

Example

{
  "event_id": "exported_CSV_45.F61",
  "event_type": "data_export",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "exported_csv",
  "status": "success",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {
    "report_names": "monthly_hires,candidate_statistics_december,candidate_roles_changed,teammates_report,candidates_list",
    "position_uid": "B2.F17"
  }
}

Candidate file uploaded

Metadata

AttributeValue
file_nameName of file
file_typecv / attachment
error (optional)Short explanation if the action failed
recruit_idCandidate unique ID

Example

{
  "event_id": "candidate_file_downloaded_45.F61",
  "event_type": "candidate",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "candidate_file_uploaded",
  "status": "failed",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {
    "file_name": "steve_marron_cv.pdf",
    "file_type": "cv",
    "error": "File includes DDE",
    "recruit_id": "19E.98"
  }
}

Candidate file deleted

Metadata

AttributeValue
file_nameName of file
file_typecv / attachment
recruit_idCandidate unique ID
{
  "event_id": "candidate_file_deleted_45.F61",
  "event_type": "candidate",
  "timestamp": "2025-12-03T08:15:22Z",
  "action": "candidate_file_deleted",
  "status": "failed",
  "user": "[email protected]",
  "user_id": "A8.G09",
  "src_ip": "198.51.100.12",
  "http_user_agent": "Mozilla/5.0",
  "metadata": {
    "file_name": "cover_letter.pdf",
    "file_type": "attachment",
    "recruit_id": "19E.98"
  }
}