Install an app on a server.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "applications@installApp",
"params": {
"order_id": "The order id.",
"server_id": "The server id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Uninstall a previously installed app.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "applications@uninstallApp",
"params": {
"application_id": "The application id.",
"server_id": "The server id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Add a permission to the Towerify user.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "applications@addTowerifyUserPermission",
"params": {
"permission": "The permission to add.",
"server_id": "The server id.",
"user_id": "The user id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Add a permission to a given user.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "applications@addUserPermission",
"params": {
"permission": "The permission to add.",
"server_id": "The server id.",
"user_id": "The user id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Remove a permission from a given user.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "applications@removeUserPermission",
"params": {
"permission": "The permission to remove.",
"server_id": "The server id.",
"user_id": "The user id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@discover",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@get",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@create",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@delete",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@list",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@monitor",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@unmonitor",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@tag",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@untag",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@listTags",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@restartScan",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@group",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@degroup",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@listGroups",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@getGroup",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@assetsInGroup",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@vulnerabilitiesInGroup",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@resolveVulnerabilityInGroup",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "assets@share",
"params": null
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Delete a single chunk.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "chunks@delete",
"params": {
"chunk_id": "The chunk id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Update an existing chunk.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "chunks@update",
"params": {
"chunk_id": "The chunk id.",
"value": "The new chunk value."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
List all chunks that belong to the current user.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "chunks@list",
"params": {
"page": "The page number (optional, default 1).",
"page_size": "The page size (optional, default 25).",
"collection": "The collection name (optional).",
"file": "The file name (optional)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"page": "The current page number.",
"page_size": "The page size.",
"nb_pages": "The total number of pages.",
"collection": "The collection name (if any).",
"file": "The file name (if any).",
"chunks": "A list of chunks."
}
}
Update an existing collection.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "collections@update",
"params": {
"collection_id": "The collection id.",
"priority": "The new collection priority."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Delete a single collection.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "collections@delete",
"params": {
"collection_id": "The collection id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
List all collections that belong to the current user.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "collections@list",
"params": {
"page": "The page number (optional, default 1).",
"page_size": "The page size (optional, default 25)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"page": "The current page number.",
"page_size": "The page size.",
"nb_pages": "The total number of pages.",
"collections": "A list of collections."
}
}
Ask CyberBuddy to answer a question or execute some tasks.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "cyberbuddy@ask",
"params": {
"thread_id": "The thread identifier.",
"directive": "The user's directive.",
"fallback_on_next_collection": "Automatically search the next collection if the first one yields no result (optional)"
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"html": "CyberBuddy's answer in HTML.",
"chain_of_thought": "CyberBuddy's chain of thought."
}
}
Delete an existing conversation.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "cyberbuddy@delete",
"params": {
"conversation_id": "The conversation identifier."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Save action settings for tenant or user scope.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "cyberbuddy@saveActionSettings",
"params": {
"scope_type": "Scope type: 'tenant' or 'user'.",
"scope_id": "The tenant id or the user id depending on scope_type.",
"actions": "Array of action names to enable (others will be disabled)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
List available templates.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "cyberscribe@listTemplates",
"params": []
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"templates": "A list of templates."
}
}
Delete an existing template.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "cyberscribe@deleteTemplate",
"params": {
"template_id": "The template id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Save a template.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "cyberscribe@saveTemplate",
"params": {
"template_id": "The template id (optional).",
"is_model": "Whether the template is a model (optional).",
"name": "The template name.",
"blocks": "The template blocks."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
List collected events.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "events@list",
"params": {
"min_score": "A score of 0 indicates a system event; any score above 0 indicates an IoC, with values closer to 100 reflecting a higher probability of compromise.",
"server_id": "The server id (optional)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"events": "The list of events over the last 3 days."
}
}
Dismiss an event (false positive).
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "events@dismiss",
"params": {
"event_id": "The event identifier."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Delete a single file.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "files@delete",
"params": {
"file_id": "The file id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
List all files that belong to the current user.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "files@list",
"params": {
"page": "The page number (optional, default 1).",
"page_size": "The page size (optional, default 25).",
"collection": "The collection name (optional)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"page": "The current page number.",
"page_size": "The page size.",
"nb_pages": "The total number of pages.",
"collection": "The collection name (if any).",
"files": "A list of files."
}
}
Load a framework into a collection.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "frameworks@load",
"params": {
"framework_id": "The framework id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Remove a framework from a collection.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "frameworks@unload",
"params": {
"framework_id": "The framework id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Get a list of qualified IP addresses to blacklist. If the attacker_id parameter is set, this endpoint only returns the IP addresses of the specified attacker.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "honeypots@blacklist",
"params": {
"attacker_id": "An attacker id (optional)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"blacklist": "The list of IP addresses to blacklist."
}
}
Returns the number of humans and targeted events for each day of the last 10 days
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "honeypots@counts",
"params": {
"honeypot_id": "A honeypot identifier."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"counts": "The daily counts."
}
}
The last events generated by the honeypots. If the honeypot_id parameter is set, this endpoint only returns the events of the specified honeypot.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "honeypots@events",
"params": {
"honeypot_id": "A honeypot identifier (optional).",
"limit": "The number of events to return (optional).",
"human": "Only keep events that have been generated by manually tinkering with the honeypots (optional).",
"targeted": "Only keep events that have been generated by a lateral movement (optional)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"events": "A list of events."
}
}
Returns the list of human attackers that targeted your honeypots.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "honeypots@attackers",
"params": []
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"attackers": "The list of human attackers that targeted your honeypots."
}
}
Get the full profile of an attacker.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "honeypots@attackerProfile",
"params": {
"attacker_id": "An attacker id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"profile": "The attacker profile: internal name, date of first contact, date of last contact, etc.",
"ip_addresses": "The attacker's known IP addresses.",
"events": "The last known events triggered by the attacker.",
"tools": "The attacker toolkit.",
"counts": "Misc. counts (nb human events, nb targeted events, etc.)",
"skills": "The attacker's skills."
}
}
Create a single invitation and send it.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "invitations@create",
"params": {
"email": "The user email address."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Add a note to the timeline.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "notes@create",
"params": {
"note": "The note content."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Delete a single note from the timeline.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "notes@delete",
"params": {
"note_id": "The note id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Get a given prompt.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "prompts@get",
"params": {
"name": "The prompt name."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"prompt": "A prompt object."
}
}
Create a new prompt.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "prompts@create",
"params": {
"name": "The prompt name.",
"template": "The prompt template."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"prompt": "A prompt object."
}
}
Update an existing prompt.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "prompts@update",
"params": {
"prompt_id": "The prompt id.",
"template": "The new prompt template."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Delete a single prompt.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "prompts@delete",
"params": {
"prompt_id": "The prompt id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
List all prompts that belong to the current user.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "prompts@list",
"params": {
"page": "The page number (optional, default 1).",
"page_size": "The page size (optional, default 25)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"page": "The current page number.",
"page_size": "The page size.",
"nb_pages": "The total number of pages.",
"prompts": "A list of prompts."
}
}
Create a single Osquery rule.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "osquery@create",
"params": {
"name": "The rule name.",
"description": "The rule description.",
"category": "The rule category.",
"platform": "The rule platform.",
"interval": "The rule trigger interval in seconds.",
"is_ioc": "true iif the rule is an indicator of compromise, false otherwise.",
"score": "The score of the rule. Must be greater than 0 but no greater than 100 if is_ioc is true, and 0 otherwise.",
"query": "The rule query."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"rule": "An Osquery rule."
}
}
Delete a single Osquery rule and all its associated data.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "osquery@delete",
"params": {
"rule_id": "The rule id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
List the enabled Osquery rules.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "osquery@list",
"params": []
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"rules": "The list of enabled Osquery rules."
}
}
Create a single OSSEC rule.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "ossec@create",
"params": {
"name": "The rule name.",
"description": "The rule description.",
"rationale": "The reason behind this rule.",
"rule": "The rule checks."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"rule": "An OSSEC rule."
}
}
Delete a single OSSEC rule and all its associated data.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "ossec@delete",
"params": {
"rule_id": "The rule id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
List the OSSEC rules.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "ossec@list",
"params": []
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"rules": "The list of OSSEC rules."
}
}
Add a permission to a role.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "roles@addPermission",
"params": {
"role": "Role name (string) or ID (integer).",
"permission": "Permission name (string) or ID (integer)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "Success message."
}
}
Remove a permission from a role.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "roles@removePermission",
"params": {
"role": "Role name (string) or ID (integer).",
"permission": "Permission name (string) or ID (integer)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "Success message."
}
}
List all roles with their permissions (permissions sorted alphabetically).
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "roles@list",
"params": []
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"roles": "Array of roles with permissions"
}
}
Create a new scheduled task.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "scheduled-tasks@create",
"params": {
"cron": "Cron expression (MIN HOUR DOM MON DOW).",
"trigger": "Optional condition that must evaluate to true to run the task.",
"task": "The task\/instruction to execute when the schedule\/trigger matches."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "Success message.",
"task_id": "The id of the created scheduled task."
}
}
Pause or resume a scheduled task.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "scheduled-tasks@toggle",
"params": {
"task_id": "The scheduled task id.",
"enabled": "Optional boolean. If omitted, the flag will be toggled."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "Success message."
}
}
Delete a scheduled task.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "scheduled-tasks@delete",
"params": {
"task_id": "The scheduled task id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "Success message."
}
}
Create a single server.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "servers@create",
"params": {
"order_id": "The order id (optional)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"server": "A server object."
}
}
Delete a single server and all its associated data.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "servers@delete",
"params": {
"server_id": "The server id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Configure the SSH connection of a server.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "servers@configure",
"params": {
"name": "The server name.",
"ip": "The server IP address.",
"port": "The server SSH port.",
"username": "The server SSH username.",
"domain": "The domain pointing to the server.",
"server_id": "The server id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Test if the SSH connection to a server is working.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "servers@testSshConnection",
"params": {
"ip": "The server IP address.",
"port": "The server SSH port.",
"username": "The server SSH username.",
"server_id": "The server id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Execute a shell command on a server.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "servers@executeShellCommand",
"params": {
"cmd": "The shell command to execute.",
"server_id": "The server id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"output": "The command output."
}
}
Pull the server's information.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "servers@pullServerInfos",
"params": {
"server_id": "The server id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Backup a server.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "servers@createBackup",
"params": {
"server_id": "The server id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Retrieve the security events for a specific server over the past 10 days.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "servers@messages",
"params": {
"server_id": "The server id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"events": "An array of security events."
}
}
List the available tables.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tables@list",
"params": []
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tables": "An array of tables."
}
}
Import one or more tables.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tables@import",
"params": {
"storage": "The type of storage (AWS S3 or Azure Blob Storage).",
"region": "The AWS\/Azure region.",
"access_key_id": "The access key (AWS only).",
"secret_access_key": "The secret key (AWS only).",
"connection_string": "The connection string to the storage account (Azure only).",
"input_folder": "Where the input files will be read.",
"output_folder": "Where the output (or temporary) files will be written.",
"tables": [
{
"table": "The table name.",
"old_name": "The old table name.",
"new_name": "The new table name.",
"type": "The table type (materialized or view)."
}
],
"updatable": "",
"copy": "",
"deduplicate": "",
"description": ""
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"message": "A success message."
}
}
Force the import of a given table.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tables@forceImport",
"params": {
"table_id": "The identifier of the table to reimport."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"message": "A success message."
}
}
Execute a SQL query.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tables@executeSqlQuery",
"params": {
"query": "The SQL query.",
"store": "Whether to store the query as a virtual or physical table (optional).",
"materialize": "Whether to store the query as a physical table (mandatory if store is true).",
"name": "The name of the virtual or physical table (mandatory if store is true).",
"description": "The description of the virtual or physical table (mandatory if store is true).",
"format": "The format of the query (arrays, arrays_with_header or objects) (mandatory if store is false)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"message": "A success message.",
"data": "The requested data."
}
}
List the content of a given bucket.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tables@listBucketContent",
"params": {
"storage": "The type of storage (AWS S3 or Azure Blob Storage).",
"region": "The AWS\/Azure region.",
"access_key_id": "The access key (AWS only).",
"secret_access_key": "The secret key (AWS only).",
"connection_string": "The connection string to the storage account (Azure only).",
"input_folder": "Where the input files will be read.",
"output_folder": "Where the output (or temporary) files will be written."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"files": "An array of files."
}
}
List the content of a given list of files (in a given bucket).
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tables@listFileContent",
"params": {
"storage": "The type of storage (AWS S3 or Azure Blob Storage).",
"region": "The AWS\/Azure region.",
"access_key_id": "The access key (AWS only).",
"secret_access_key": "The secret key (AWS only).",
"connection_string": "The connection string to the storage account (Azure only).",
"input_folder": "Where the input files will be read.",
"output_folder": "Where the output (or temporary) files will be written.",
"tables": "An array of tables to inspect."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tables": "An array of tables."
}
}
Convert a prompt to a SQL query.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tables@promptToQuery",
"params": {
"prompt": "The prompt."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"query": "The SQL query."
}
}
Update a table description.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tables@updateDescription",
"params": {
"name": "The table name.",
"description": "The new description."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"message": "A success message.",
"data": "The updated table object."
}
}
Summarize a text or a webpage.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "the-cyber-brief@summarize",
"params": {
"url_or_text": "The text or webpage (URL) to summarize. The webpage will be automatically downloaded and converted to text.",
"prompt": "The prompt to use. Any [TEXT] in the prompt will be replaced by the text or webpage."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"summary": "The summary of the text or webpage."
}
}
List the last n traces.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "traces@list",
"params": {
"limit": "The maximum number of traces to return."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"traces": "An array of traces."
}
}
Toggle the envoy of the weekly email report to a given user.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "users@toggleGetsAuditReport",
"params": {
"user_id": "The user id.",
"gets_audit_report": "Whether the user wants to receive the weekly email report (optional)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
List the user's vulnerabilities.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "vulnerabilities@list",
"params": {
"asset_id": "The asset id (optional).",
"level": "The vulnerabilities criticality level (optional).",
"tld": "The underlying asset TLD to match (optional).",
"tags": "The underlying list of assets tags to match (optional)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"high": "A list of vulnerabilities with critical severity.",
"medium": "A list of vulnerabilities with medium severity.",
"low": "A list of vulnerabilities with low severity."
}
}
Hide/Show one or more vulnerabilities.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "vulnerabilities@toggleVisibility",
"params": {
"uid": "The vulnerability unique identifier (optional).",
"type": "The vulnerability type (optional).",
"title": "The vulnerability title (optional)."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}
Flag a given vulnerability as resolved and trigger a new scan.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "vulnerabilities@markAsResolved",
"params": {
"vulnerability_id": "The vulnerability id."
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"msg": "A success message."
}
}