API Examples for Postman

Introduction

Here are some examples for using the Open-AudIT API via Postman.

When beginning a new request, we always logon and store the returned cookie for future use. In addition to the cookie, if we want to create a resource (Orgs, Locations, Credentials, Discoveries, et al) we need to provide an access token. An access token is generated with every request (except logon) and any of the last 20 (by default, settable in the configuration) will be accepted. You should always aim to use the last access token issued. An example token is in the Get Device List response, below.

 

Updated for Open-AudIT 3.5.4 onward on 2021-11-29.

Logon

Request

Section

 

 

 

Section

 

 

 

URL

POST

http://localhost/open-audit/index.php/logon

 

Headers

Accept

application/json

 

Body

Type

form-data

 

 

Key

username

admin

 

Key

password

password

Response

{ "access_token": "[]", "active": "y", "dashboard_id": "1", "devices_default_display_columns": "", "edited_by": "Administrator", "edited_date": "2024-10-02 11:40:15", "email": "admin@openaudit", "full_name": "Administrator", "id": 1, "lang": "en", "ldap": "", "list_table_format": "", "name": "admin", "org_id": 1, "orgs": "[1]", "password": "", "roles": [ "admin", "org_admin" ], "toolbar_style": "icontext", "type": "user" }

 

Read Devices

Logon as above, then.

Request

Section

 

 

Section

 

 

URL

GET

http://localhost/open-audit/index.php/devices

Headers

Accept

application/json

Response

Note - restricted to one item in the data array, normally you will retrieve all items.

 

{ "meta": { "action": "collection", "collection": "devices", "request_method": "GET", "remote_addr": "::1", "format": "json", "id": null, "access_token": "60485c922d98010d0b6e9a746b15bd50144eccc18ef8896ad28e1e11fc3f", "baseurl": "http://localhost:8080/", "debug": false, "filtered": 1, "groupby": "", "header": 200, "include": "", "license_string": "", "limit": 1, "microtime": 1728348706.632546, "offset": 0, "properties": [ "devices.id", "devices.icon", "devices.type", "devices.name", "devices.ip", "devices.uuid", "devices.hostname", "devices.dns_hostname", "devices.domain", "devices.dns_domain", "devices.dbus_identifier", "devices.fqdn", "devices.dns_fqdn", "devices.description", "devices.os_group", "devices.os_family", "devices.os_name", "devices.os_version", "devices.manufacturer", "devices.model", "devices.serial", "devices.form_factor", "devices.status", "devices.environment", "devices.class", "devices.function", "devices.org_id", "devices.location_id", "devices.snmp_oid", "devices.sysDescr", "devices.sysObjectID", "devices.sysUpTime", "devices.sysContact", "devices.sysName", "devices.sysLocation", "devices.first_seen", "devices.last_seen", "devices.last_seen_by", "devices.identification", "devices.tags" ], "query_string": "limit=1", "requestor": "", "server_app_version": "5.6.0", "server_platform": "MacOS 15.0.1 Sequoia", "sort": "", "time_start": 1728348706.64449, "time_end": 1728348706.714915, "time_elapsed": "0.08", "total": 111, "timestamp": "2024-10-08 10:51:46", "timezone": "UTC +10:00", "version": 1, "filter": [ { "name": "devices.org_id", "function": "whereIn", "operator": "in", "value": [ "1" ] } ], "received_data": [], "sql": [], "heading": "Devices", "icon": "fa fa-desktop", "data_order": [ "id", "icon", "type", "name", "ip", "uuid", "hostname", "dns_hostname", "domain", "dns_domain", "dbus_identifier", "fqdn", "dns_fqdn", "description", "os_group", "os_family", "os_name", "os_version", "manufacturer", "model", "serial", "form_factor", "status", "environment", "class", "function", "org_id", "location_id", "snmp_oid", "sysDescr", "sysObjectID", "sysUpTime", "sysContact", "sysName", "sysLocation", "first_seen", "last_seen", "last_seen_by", "identification", "tags" ] }, "links": {}, "included": { "antivirus": 8, "audit_log": 140, "bios": 70, "change_log": 12642, "disk": 342, "dns": 0, "edit_log": 3006, "file": 35, "firewall": 3, "firewall_rule": 1073, "executable": 101, "ip": 301, "log": 742, "memory": 128, "module": 619, "monitor": 27, "motherboard": 62, "netstat": 2524, "network": 618, "nmap": 65, "optical": 23, "pagefile": 26, "partition": 422, "policy": 1033, "print_queue": 10, "processor": 77, "route": 947, "server": 65, "server_item": 134, "service": 12164, "share": 47, "software": 43305, "software_key": 35, "sound": 58, "task": 4339, "user": 1689, "user_group": 2375, "variable": 2142, "video": 75, "vm": 89, "windows": 39 }, "logs": [], "data": [ { "id": 5, "type": "devices", "attributes": { "id": 5, "icon": "redhat", "type": "computer", "name": "redhat9", "ip": "192.168.1.53", "uuid": "9d762f99-55cb-5f42-a4ea-3704c5be0333", "hostname": "redhat9", "dns_hostname": "redhat9", "domain": "open-audit.lan", "dns_domain": "open-audit.local", "dbus_identifier": "db348c97aadf4b38847d236483fe9f79", "fqdn": "redhat9.open-audit.lan", "dns_fqdn": "redhat9.open-audit.local", "description": "", "os_group": "Linux", "os_family": "RedHat", "os_name": "Red Hat Enterprise Linux release 9.4 (Plow)", "os_version": "9.4", "manufacturer": "innotek GmbH", "model": "VirtualBox", "serial": "", "form_factor": "Virtual", "status": "production", "environment": "production", "class": "server", "function": "", "org_id": 1, "location_id": 1, "snmp_oid": "", "sysDescr": "", "sysObjectID": "", "sysUpTime": "", "sysContact": "", "sysName": "", "sysLocation": "", "first_seen": "2024-08-27 14:43:31", "last_seen": "2024-09-27 13:20:29", "last_seen_by": "audit_ssh", "identification": "Server from innotek GmbH", "tags": [], "orgs.name": "Default Organisation", "orgs.id": 1, "locations.name": "Default Location", "locations.id": 1, "mycount": "1", "audit_class": "fa fa-check text-success", "audit_text": "Discovered and audited computer.", "ip_padded": "192.168.001.053" } } ] }

 






Create Discovery

Logon as above, then request list of devices (or any available endpoint) so we can use the meta → access_token in our request (see above response).

Request

Section

 

 

 

Section

 

 

 

URL

POST

http://localhost/open-audit/index.php/discoveries

 

Headers

Accept

application/json

 

Body

Type

form-data

 

 

Key

data

   

{         "access_token": "bcb3f959c14f0daf959e3de92e4213201a56bc205e31b63f35c3f9299670",       "type": "discoveries",         "attributes":         {             "description": "Subnet - 192.168.1.0/24",             "match_options": "{\"match_dbus\":\"\",\"match_dns_fqdn\":\"\",\"match_dns_hostname\":\"\",\"match_fqdn\":\"\",\"match_hostname\":\"\",\"match_hostname_dbus\":\"\",\"match_hostname_serial\":\"\",\"match_hostname_uuid\":\"\",\"match_ip\":\"\",\"match_ip_no_data\":\"\",\"match_mac\":\"\",\"match_mac_vmware\":\"\",\"match_serial\":\"\",\"match_serial_type\":\"\",\"match_sysname\":\"\",\"match_sysname_serial\":\"\",\"match_uuid\":\"\"}",             "name": "My Testing Discovery",             "org_id": 1,             "scan_options": "{\"exclude_ip\":\"\",\"exclude_tcp_ports\":\"\",\"exclude_udp_ports\":\"\",\"filtered\":\"\",\"id\":\"1\",\"nmap_tcp_ports\":\"\",\"nmap_udp_ports\":\"\",\"open|filtered\":\"\",\"ping\":\"\",\"service_version\":\"\",\"ssh_ports\":\"\",\"tcp_ports\":\"\",\"timeout\":\"\",\"timing\":\"\",\"udp_ports\":\"\",\"script_timeout\":\"\",\"snmp_timeout\":\"\",\"ssh_timeout\":\"\",\"wmi_timeout\":\"\"}",           "subnet": "192.168.1.0/24",             "type": "subnet"       }     }

Response

Note, generated from a discoveries read. The actual output should be almost identical.

 

Update Discovery

Logon as above, then.

Request

Section

 

 

 

Section

 

 

 

URL

PATCH

http://localhost/open-audit/index.php/discoveries/5

 

Headers

Accept

application/json

 

Body

Type

x-www-form-urlencoded

 

 

Key

data

Response

Note - generated from pre 3.5.4. Attribute outputs will be as above for 3.5.4 onward.

 

 

Delete Discovery

Logon as above, then.

Request

Section

 

 

Section

 

 

URL

DELETE

http://localhost/open-audit/index.php/discoveries/5

Headers

Accept

application/json

Response