• Migration Topics
  • Integration
  • Concepts
  • Best Practices
  • Api
    • Changelog
    • HIRO API Overview
    • HIRO Audit API
    • HIRO Graph - Gremlin Query
    • HIRO Graph Action API
    • HIRO Graph Auth API
    • HIRO Graph List API
    • HIRO Graph WebSocket API
    • Refresh Token

Overview

This document will give you an overview about the HIRO Audit API.

What are audit and security logs

Audit logs are security-relevant chronological records that provide documentary evidence of the sequence of activities that have affected at any time a specific operation, procedure, or event.

Which events are recorded and can be queried?

accountId, action, ipAddress, orgId and timestamp are populated for every event, the other attributes depend on the action and are listed below

Event(Action) Description Attributes

Login (action:Login)

Any login using hiro login credentials.

Logout (action:Logout)

Any logout event from HIRO

ResetPassword

Any HIRO credentials password change

SearchKI (action:SearchKI)

Search for a KI using HIRO Desktop app Knowledge Item Manager

searchString,desktopApp:kim,

DeployKI (action:DeployKI)

Deploy a KI using HIRO Desktop app Knowledge Item Manager

kiID,kiName,knowledgePoolId,knowledgePoolName,desktopApp:kim

UndeployKI (action:UnddeployKI)

Undeploy a KI using HIRO Desktop app Knowledge Item Manager

kiID,kiName,knowledgePoolId,knowledgePoolName,desktopApp:kim

OpenTeachingSession (action:OpenTeachingSession)

Opening a Teaching Session triggered through Knowledge Item Manager

kiID,kiName,knowledgePoolId,knowledgePoolName,desktopApp:kim,sessionId,sessionName,taskId

SearchKI (action:SearchKI)

Search for a KI using Knowledge Aquistion Tool

searchString,desktopApp:kat

DeployKI (action:DeployKI)

Deploy a KI using Knowledge Aquistion Tool

kiId,kiName,desktopApp:kat,knowledgePoolId,knowledgePoolName

UndeployKI (action:UndeployKI)

Undeploy a KI using Knowledge Aquistion Tool

kiId,kiName,desktopApp:kat,knowledgePoolId,knowledgePoolName

WriteKI (action:WriteKI)

Undeploy a KI using Knowledge Aquistion Tool

kiId,kiName,desktopApp:kat

ForkKI (action:ForkKI)

Fork a KI (create a copy) using Knowledge Aquistion Tool

kiId,kiName,searchString

SearchTeachingSession (action:SearchTeachingSession)

Fork a KI (create a copy) using Knowledge Aquistion Tool

searchString,searchString

OpenTeachingSession (action:OpenTeachingSession)

Open an existing Teaching Session

sessionId,sessionName,taskId,desktopRole,desktopApp:kat

StartTeachingSession (action:StartTeachingSession)

Start a new existing Teaching Session

sessionId,sessionName,taskId,desktopRole,desktopApp:kat

ContinueTeachingSession (action:ContinueTeachingSession)

Continue working on a new or existing Teaching Session, different to open where you can only view

sessionId,sessionName,taskId,desktopRole,desktopApp:kat

StartConversionSession (action:StartConversionSession)

Start converting expert knowledge into machine readable knowledge

sessionId,sessionName,taskId,desktopRole,desktopApp:kat

ContinueConversionSession (action:ContinueConversionSession)

Continue working on turning expert knowledge into machine readable knowledge

sessionId,sessionName,taskId,desktopRole,desktopApp:kat

AssignKI (action:AssignKI)

Assign a KI to a Teaching Session

sessionId,sessionName,kiName,kiId,desktopApp:kat

ArchiveTeachingSession (action:ArchiveTeachingSession)

Assign a KI to a Teaching Session

sessionId,sessionName,kiName,kiId,desktopApp:atq,taskId,desktopRole

SearchTask (action:SearchTask)

Search a Task using the Task Inspector app

searchString,desktopApp:iv

StartTeachingSession (action:StartTeachingSession)

Start a teaching session using the Task Inspector app

sessionId,sessionName,taskId,desktopRole:AIE, desktopApp:iv

OpenTeachingSession (action:OpenTeachingSession)

Open a Teaching Session using the Task Inspector app

sessionId,sessionName,taskId,desktopRole:AIE, desktopApp:iv

OpenTeachingSession (action:OpenTeachingSession)

a user, NOT THE OWNER, views a Teaching Session from the Task List app

sessionId,sessionName,taskId,desktopRole:AIE/SME, desktopApp:atq

OwnTeachingSession (action:OwnTeachingSession)

Taking ownership of a teaching session if user is not owner, allows them to edit Knowledge

sessionId,sessionName,taskId,prevOwnerIddesktopRole:AIE/SME, desktopApp:atq

StartTeachingSession (action:StartTeachingSession)

Starting a new Teaching Session from the Task List app

sessionId,sessionName,taskId,desktopRole:AIE/SME, desktopApp:atq

ContinueTeachingSession (action:ContinueTeachingSession)

Continue working on a Teaching Session from the Task List app

sessionId,sessionName,taskId,desktopRole:AIE/SME, desktopApp:atq

StartConversionSession (action:StartConversionSession)

Start a Conversion Session, only possible to Knowledge Experts

sessionId,sessionName,taskId,desktopRole:AIE, desktopApp:atq

ContinueConversionSession (action:ContinueConversionSession)

Continue a Conversion Session, only possible to Knowledge Experts

sessionId,sessionName,taskId,desktopRole:AIE, desktopApp:atq

SearchTeachingSession (action:SearchTeachingSession)

Search for a specific Teaching Session within the Task List app a conversion session, only possible to Knowledge Experts

searchString,desktopApp:atq

ArchiveTeachingSession (action:ArchiveTeachingSession)

Search for a specific Teaching Session within the Task List app a conversion session, only possible to Knowledge Experts

sessionId,taskId,,sessionName,desktopApp:atq,desktopRole

OpenTeachingSession (action:OpenTeachingSession)

Open a Teaching Session from the HIRO Desktop dashboard

sessionId,taskId,,sessionName,desktopApp:hd,desktopRole

StartTeachingSession (action:StartTeachingSession)

Start a Teaching Session from the HIRO Desktop dashboard

sessionId,taskId,,sessionName,desktopApp:hd,desktopRole

ContinueTeachingSession (action:ContinueTeachingSession)

Continue a Teaching Session from the HIRO Desktop dashboard

sessionId,taskId,,sessionName,desktopApp:hd,desktopRole

StartConversionSession (action:StartConversionSession)

Start a conversion of a Teaching Session from the HIRO Desktop dashboard

sessionId,taskId,,sessionName,desktopApp:hd,desktopRole

ContinueConversionSession (action:ContinueConversionSession)

Continue a conversion of a Teaching Session from the HIRO Desktop dashboard

sessionId,taskId,,sessionName,desktopApp:hd,desktopRole

Sample Result Event

Events are a returned as a list of json entries, Sample

{"accountId":"xxxx","action":"SearchKI","appId":"cju16o7cg0001mz775fnoq66i_cjgs10d0w00bizp10t1udkdlm","desktopApp":"kim","instanceId":"xxxxx","ipAddress":"xx.xxx.xxx.xxx","orgId":"xxxxx","searchString":"test string","timestamp":1618856857759}

Who can use the API

Only admins of an organisation. Please refer to https://guides.hiro.arago.co/7.0/guides/admin-user-guide/ on how to grant admin access to users.

How to use the API

  1. Get your token Use the following app and use your user hiro login credentials (email/pw)

To retrieve a token, you must run a Post request against https://core.arago.co/api/auth/6/app.

{
    "client_secret": "3017347653c9dab5cc78ab5e4c3c125a3faae1bcf97ff165684428b670b80fd6134589747d0f2b7a938c8f17fab3b46dc7ad7f3cb6a0c3df2f64ba54ef2d78a8",
    "client_id": "cju16o7cg0001mz775fnoq66i_cknrbvxfzsanh0168wdgijugd",
    "username":"",
    "password": ""
}
  1. Get your org id Login to id.arago.co with your credentials. Open your browser tab https://id.arago.co/org/xxxx (←- your org id)

  2. Send a GET request against https://core.arago.co/api/audit/1.0/organization/YOURORGID/events?from=1617240656000&limit=1000

Given the number and size of data, we do recommend to request smaller chunks (from/to) (setting up a daily cronjob)

Parameters available

Name Description

org_id *

String (path) ogit/_id of ogit/Auth/Organization

accountId

String (query) ogit/_id of ogit/Auth/Account

appId

String (query) ogit/_id of ogit/Auth/Application

ipAddress

String (query) IP Address of the user

instanceId

String (query) ogit/_id of saas ogit/Auth/DataScope

from

integer($int64) (query) timestamp in ms where to start returning entries (default 1 hour ago)

to

integer($int64) (query) timestamp in ms where to end returning entries (default now)

limit

integer($int64) (query) limit of entries to return (default 1000)

order

string (query) order by a timestamp asc