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

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

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

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.

{
    "data":
    [
        {
            "attributes":
            {
                "ad_domain": "",
                "ad_server": "",
                "cloud_id": 1,
                "cloud_name": "",
                "command_options": "",
                "description": "Subnet - 192.168.1.0/24",
                "devices_assigned_to_location": null,
                "devices_assigned_to_org": null,
                "discard": "n",
                "duration": "00:00:00",
                "edited_by": "Administrator",
                "edited_date": "2021-11-29 13:16:53",
                "id": 3,
                "ip_all_count": 0,
                "ip_audited_count": 0,
                "ip_discovered_count": 0,
                "ip_responding_count": 0,
                "ip_scanned_count": 0,
                "last_finished": "2000-01-01 00:00:00",
                "last_run": "2000-01-01 00:00:00",
                "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",
                "network_address": "",
                "org_id": 1,
                "orgs.id": 1,
                "scan_options":
                {
                    "exclude_ip": "",
                    "exclude_tcp_ports": "",
                    "exclude_udp_ports": "",
                    "filtered": "",
                    "id": "1",
                    "nmap_tcp_ports": "",
                    "nmap_udp_ports": "",
                    "open|filtered": "",
                    "ping": "",
                    "script_timeout": "",
                    "service_version": "",
                    "snmp_timeout": "",
                    "ssh_ports": "",
                    "ssh_timeout": "",
                    "tcp_ports": "",
                    "timeout": "",
                    "timing": "",
                    "udp_ports": "",
                    "wmi_timeout": ""
                },
                "seed_ip": "",
                "seed_ping": "y",
                "seed_restrict_to_private": "y",
                "seed_restrict_to_subnet": "y",
                "status": "",
                "subnet": "192.168.1.0/24",
                "system.id": 0,
                "system_id": 0,
                "type": "subnet"
            },
            "id": 3,
            "links":
            {
                "self": "http://dev.local/omk/open-audit/discoveries/3"
            },
            "type": "discoveries"
        }
    ],
    "included": [],
    "issues": [],
    "meta":
    {
        "access_token": "ef4421add7e6f2741a2830a1b0262d3b678cc33efdacdd9442d5a871f474",
        "action": "read",
        "as_at": "",
        "baseurl": "http://dev.local/omk/open-audit",
        "collection": "discoveries",
        "current": "y",
        "data_order":
        [
            "discoveries.id",
            "discoveries.name",
            "discoveries.org_id",
            "discoveries.description",
            "discoveries.type",
            "discoveries.subnet",
            "discoveries.seed_ip",
            "discoveries.seed_restrict_to_subnet",
            "discoveries.seed_restrict_to_private",
            "discoveries.seed_ping",
            "discoveries.ad_domain",
            "discoveries.ad_server",
            "discoveries.devices_assigned_to_org",
            "discoveries.devices_assigned_to_location",
            "discoveries.network_address",
            "discoveries.system_id",
            "discoveries.scan_options",
            "discoveries.match_options",
            "discoveries.command_options",
            "discoveries.discard",
            "discoveries.last_run",
            "discoveries.last_finished",
            "discoveries.duration",
            "discoveries.status",
            "discoveries.ip_all_count",
            "discoveries.ip_responding_count",
            "discoveries.ip_scanned_count",
            "discoveries.ip_discovered_count",
            "discoveries.ip_audited_count",
            "discoveries.cloud_id",
            "discoveries.cloud_name",
            "discoveries.edited_by",
            "discoveries.edited_date",
            "orgs.id",
            "system.id"
        ],
        "debug": false,
        "filter": [],
        "filtered": 1,
        "format": "json",
        "groupby": "",
        "header": "HTTP/1.1 200 OK",
        "heading": "Discoveries",
        "id": 3,
        "include": "",
        "limit": 1000,
        "nmap_version": 7,
        "offset": 0,
        "properties": ".*",
        "query_parameters": [],
        "query_string": "",
        "received_data": [],
        "request_method": "GET",
        "requestor": "commercial",
        "server_app_version": "4.3.0",
        "server_platform": "Debian GNU/Linux 9 (stretch)",
        "sort": "",
        "sub_resource": "",
        "timestamp": "2021-11-29 13:24:45",
        "timezone": "UTC +1000",
        "total": 1,
        "version": 1
    }
}

Update Discovery

Logon as above, then.

Request

Section

URL

PATCH

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

Headers

Accept

application/json

Body

Type

x-www-form-urlencoded

Key

data

{
    "id": 5,
    "type": "discoveries",
    "attributes": {
         "name": "My New Name OMK"
    }
}

Response

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

{
    "data": [
        {
            "attributes": {
                "description": "Subnet - 192.169.1.0/24",
                "devices_assigned_to_location": null,
                "devices_assigned_to_org": null,
                "discard": "n",
                "duration": "00:00:00",
                "edited_by": "Administrator",
                "edited_date": "2020-03-24 14:13:36",
                "id": 5,
                "ip_all_count": 0,
                "ip_audited_count": 0,
                "ip_discovered_count": 0,
                "ip_responding_count": 0,
                "ip_scanned_count": 0,
                "last_finished": "2000-01-01 00:00:00",
                "last_run": "2000-01-01 00:00:00",
                "name": "My New Name OMK",
                "network_address": "http://127.0.0.1/open-audit/",
                "options": "",
                "org_id": 1,
                "orgs.id": 1,
                "other": {
                    "nmap": {
                        "discovery_scan_option_id": "1",
                        "exclude_ip": "",
                        "exclude_tcp_ports": "",
                        "exclude_udp_ports": "",
                        "filtered": "n",
                        "nmap_tcp_ports": "0",
                        "nmap_udp_ports": "0",
                        "ping": "y",
                        "service_version": "n",
                        "ssh_ports": "22",
                        "tcp_ports": "22,135,62078",
                        "timeout": "0",
                        "timing": "4",
                        "udp_ports": "161"
                    },
                    "subnet": "192.169.1.0/24"
                },
                "status": "",
                "system.id": 0,
                "system_id": 0,
                "type": "subnet"
            },
            "id": 5,
            "links": {
                "self": "/omk/open-audit/discoveries/5"
            },
            "type": "discoveries"
        }
    ],
    "errors": [],
    "included": [],
    "links": {
        "first": null,
        "last": null,
        "next": null,
        "prev": null,
        "self": "http://localhost/omk/open-audit/discoveries/5"
    },
    "meta": {
        "access_token": "47049142d113e4e316ae4219afdf54d6a6d034ff779a42fd5198a720da2e",
        "action": "update",
        "baseurl": "http://localhost/omk/open-audit",
        "collection": "discoveries",
        "current": "y",
        "data_order": [
            "discoveries.id",
            "discoveries.name",
            "discoveries.org_id",
            "discoveries.description",
            "discoveries.type",
            "discoveries.devices_assigned_to_org",
            "discoveries.devices_assigned_to_location",
            "discoveries.network_address",
            "discoveries.system_id",
            "discoveries.options",
            "discoveries.discard",
            "discoveries.last_run",
            "discoveries.last_finished",
            "discoveries.duration",
            "discoveries.status",
            "discoveries.ip_all_count",
            "discoveries.ip_responding_count",
            "discoveries.ip_scanned_count",
            "discoveries.ip_discovered_count",
            "discoveries.ip_audited_count",
            "discoveries.edited_by",
            "discoveries.edited_date",
            "orgs.id",
            "system.id",
            "other.subnet",
            "other.nmap"
        ],
        "debug": false,
        "filter": [],
        "filtered": "",
        "format": "json",
        "groupby": "",
        "header": "HTTP/1.1 200 OK",
        "heading": "Discoveries",
        "id": 5,
        "ids": 0,
        "include": "",
        "limit": 1000,
        "offset": 0,
        "properties": "*",
        "query_parameters": [],
        "query_string": "",
        "received_data": {
            "attributes": {
                "id": 5,
                "name": "My New Name OMK"
            },
            "id": 5,
            "type": "discoveries"
        },
        "request_method": "PATCH",
        "requestor": "",
        "sort": "",
        "sub_resource": "",
        "sub_resource_id": 0,
        "timestamp": "2020-03-24 14:13:36",
        "timezone": "UTC +1000",
        "total": 0,
        "version": 1
    }
}

Delete Discovery

Logon as above, then.

Request

Section

URL

DELETE

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

Headers

Accept

application/json

Response

{
    "meta": {
        "access_token": "530d34dc6304ebd361d088d7831e4ce9d276ac8a4826837bdf36e8e84c87",
        "action": "delete",
        "baseurl": "http://localhost/open-audit/",
        "collection": "discoveries",
        "current": "y",
        "debug": false,
        "filtered": "",
        "format": "json",
        "groupby": "",
        "header": "HTTP/1.1 200 OK",
        "id": 5,
        "ids": 0,
        "include": "",
        "limit": 1000,
        "offset": 0,
        "properties": "*",
        "query_string": "",
        "request_method": "DELETE",
        "requestor": "",
        "sort": "",
        "sub_resource": "",
        "sub_resource_id": 0,
        "total": 0,
        "timestamp": "2020-03-24 14:22:38",
        "timezone": "UTC +1000",
        "version": 1,
        "filter": [],
        "query_parameters": [],
        "received_data": [],
        "heading": "Discoveries",
        "data_order": []
    },
    "links": {
        "self": "http://localhost/open-audit/index.php/discoveries/5",
        "first": null,
        "last": null,
        "next": null,
        "prev": null
    },
    "included": [],
    "data": [
        {
            "type": "discoveries"
        }
    ]
}