{"files":{"SKILL.md":"---\nname: rumble-api-deprecated\ndescription: \"Rumble API (deprecated) API skill. Use when working with Rumble API (deprecated) for releases, export, org. Covers 116 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Rumble API (deprecated)\nAPI version: 2.15.0\n\n## Auth\nBearer bearer\n\n## Base URL\nhttps://console.rumble.run/api/v1.0\n\n## Setup\n1. Set Authorization header with Bearer token\n2. GET /releases/agent/version -- returns latest agent version\n3. POST /org/agents/{agent_id}/update -- create first update\n\n## Endpoints\n116 endpoints across 4 groups. See references/api-spec.lap for full details.\n\n### Releases\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /releases/agent/version | Returns latest agent version |\n| GET | /releases/scanner/version | Returns latest scanner version |\n| GET | /releases/platform/version | Returns latest platform version |\n\n### Export\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /export/org/assets.json | Exports the asset inventory |\n| GET | /export/org/assets.jsonl | Asset inventory as JSON line-delimited |\n| GET | /export/org/assets.csv | Asset inventory as CSV |\n| GET | /export/org/assets.nmap.xml | Asset inventory as Nmap-style XML |\n| GET | /export/org/services.json | Service inventory as JSON |\n| GET | /export/org/services.jsonl | Service inventory as JSON line-delimited |\n| GET | /export/org/services.csv | Service inventory as CSV |\n| GET | /export/org/sites.json | Export all sites |\n| GET | /export/org/sites.jsonl | Site list as JSON line-delimited |\n| GET | /export/org/sites.csv | Site list as CSV |\n| GET | /export/org/wireless.json | Wireless inventory as JSON |\n| GET | /export/org/wireless.jsonl | Wireless inventory as JSON line-delimited |\n| GET | /export/org/wireless.csv | Wireless inventory as CSV |\n| GET | /export/org/assets/sync/created/assets.json | Exports the asset inventory in a sync-friendly manner using created_at as a checkpoint. Requires the Splunk entitlement. |\n| GET | /export/org/assets/sync/updated/assets.json | Exports the asset inventory in a sync-friendly manner using updated_at as a checkpoint. Requires the Splunk entitlement. |\n| GET | /export/org/assets.servicenow.csv | Export an asset inventory as CSV for ServiceNow integration |\n| GET | /export/org/assets.servicenow.json | Exports the asset inventory as JSON |\n| GET | /export/org/services.servicenow.csv | Export a service inventory as CSV for ServiceNow integration |\n| GET | /export/org/assets.cisco.csv | Cisco serial number and model name export for Cisco Smart Net Total Care Service. |\n\n### Org\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /org/assets/top.types.csv | Top asset types as CSV |\n| GET | /org/assets/top.os.csv | Top asset operating systems as CSV |\n| GET | /org/assets/top.hw.csv | Top asset hardware products as CSV |\n| GET | /org/assets/top.tags.csv | Top asset tags as CSV |\n| GET | /org/services/top.tcp.csv | Top TCP services as CSV |\n| GET | /org/services/top.udp.csv | Top UDP services as CSV |\n| GET | /org/services/top.protocols.csv | Top service protocols as CSV |\n| GET | /org/services/top.products.csv | Top service products as CSV |\n| GET | /org/services/subnet.stats.csv | Subnet utilization statistics as as CSV |\n| GET | /org | Get organization details |\n| PATCH | /org | Update organization details |\n| GET | /org/key | Get API key details |\n| DELETE | /org/key | Remove the current API key |\n| PATCH | /org/key/rotate | Rotate the API key secret and return the updated key |\n| GET | /org/agents | Get all agents |\n| GET | /org/agents/{agent_id} | Get details for a single agent |\n| DELETE | /org/agents/{agent_id} | Remove and uninstall an agent |\n| PATCH | /org/agents/{agent_id} | Update the site associated with agent |\n| POST | /org/agents/{agent_id}/update | Force an agent to update and restart |\n| GET | /org/sites | Get all sites |\n| PUT | /org/sites | Create a new site |\n| GET | /org/sites/{site_id} | Get site details |\n| DELETE | /org/sites/{site_id} | Remove a site and associated assets |\n| PATCH | /org/sites/{site_id} | Update a site definition |\n| PUT | /org/sites/{site_id}/import | Import a scan data file into a site |\n| PUT | /org/sites/{site_id}/import/nessus | Import a Nessus scan data file into a site |\n| PUT | /org/sites/{site_id}/scan | Create a scan task for a given site |\n| GET | /org/assets | Get all assets |\n| GET | /org/assets/{asset_id} | Get asset details |\n| DELETE | /org/assets/{asset_id} | Remove an asset |\n| PATCH | /org/assets/{asset_id}/comments | Update asset comments |\n| PATCH | /org/assets/{asset_id}/tags | Update asset tags |\n| PATCH | /org/assets/bulk/tags | Update tags across multiple assets based on a search query |\n| POST | /org/assets/bulk/clearTags | Clear all tags across multiple assets based on a search query |\n| GET | /org/services | Get all services |\n| GET | /org/services/{service_id} | Get service details |\n| DELETE | /org/services/{service_id} | Remove a service |\n| GET | /org/wireless | Get all wireless LANs |\n| GET | /org/wireless/{wireless_id} | Get wireless LAN details |\n| DELETE | /org/wireless/{wireless_id} | Remove a wireless LAN |\n| GET | /org/tasks | Get all tasks (last 1000) |\n| GET | /org/tasks/{task_id} | Get task details |\n| PATCH | /org/tasks/{task_id} | Update task parameters |\n| GET | /org/tasks/{task_id}/data | Returns a temporary task scan data url |\n| GET | /org/tasks/{task_id}/changes | Returns a temporary task change report data url |\n| GET | /org/tasks/{task_id}/log | Returns a temporary task log data url |\n| POST | /org/tasks/{task_id}/stop | Signal that a task should be stopped or canceledThis will also remove recurring and scheduled tasks |\n| POST | /org/tasks/{task_id}/hide | Signal that a completed task should be hidden |\n\n### Account\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /account/orgs | Get all organization details |\n| PUT | /account/orgs | Create a new organization |\n| GET | /account/orgs/{org_id} | Get organization details |\n| PATCH | /account/orgs/{org_id} | Update organization details |\n| DELETE | /account/orgs/{org_id} | Remove this organization |\n| DELETE | /account/orgs/{org_id}/exportToken | Removes the export token from the specified organization |\n| PATCH | /account/orgs/{org_id}/exportToken/rotate | Rotates the organization export token and returns the updated organization |\n| GET | /account/license | Get license details |\n| GET | /account/sites | Get all sites details across all organizations |\n| GET | /account/credentials | Get all account credentials |\n| PUT | /account/credentials | Create a new credential |\n| GET | /account/credentials/{credential_id} | Get credential details |\n| DELETE | /account/credentials/{credential_id} | Remove this credential |\n| GET | /account/keys | Get all active API keys |\n| PUT | /account/keys | Create a new key |\n| GET | /account/keys/{key_id} | Get key details |\n| DELETE | /account/keys/{key_id} | Remove this key |\n| PATCH | /account/keys/{key_id}/rotate | Rotates the key secret |\n| GET | /account/events.json | System event log as JSON |\n| GET | /account/events.jsonl | System event log as JSON line-delimited |\n| GET | /account/tasks | Get all task details across all organizations (up to 1000) |\n| GET | /account/tasks/templates | Get all scan templates across all organizations (up to 1000) |\n| POST | /account/tasks/templates | Create a new scan template |\n| PUT | /account/tasks/templates | Update scan template |\n| GET | /account/tasks/templates/{scan_template_id} | Get scan template details |\n| DELETE | /account/tasks/templates/{scan_template_id} | Remove scan template |\n| GET | /account/agents | Get all agents across all organizations |\n| GET | /account/users | Get all users |\n| PUT | /account/users | Create a new user account |\n| PUT | /account/users/invite | Create a new user account and send an email invite |\n| GET | /account/users/{user_id} | Get user details |\n| DELETE | /account/users/{user_id} | Remove this user |\n| PATCH | /account/users/{user_id} | Update a user's details |\n| PATCH | /account/users/{user_id}/resetMFA | Resets the user's MFA tokens |\n| PATCH | /account/users/{user_id}/resetLockout | Resets the user's lockout status |\n| PATCH | /account/users/{user_id}/resetPassword | Sends the user a password reset email |\n| GET | /account/groups | Get all groups |\n| POST | /account/groups | Create a new group |\n| PUT | /account/groups | Update an existing group |\n| GET | /account/groups/{group_id} | Get group details |\n| DELETE | /account/groups/{group_id} | Remove this group |\n| GET | /account/sso/groups | Get all SSO group mappings |\n| POST | /account/sso/groups | Create a new SSO group mapping |\n| PUT | /account/sso/groups | Update an existing SSO group mapping |\n| GET | /account/sso/groups/{group_mapping_id} | Get SSO group mapping details |\n| DELETE | /account/sso/groups/{group_mapping_id} | Remove this SSO group mapping |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all version?\" -> GET /releases/agent/version\n- \"Search assets.json?\" -> GET /export/org/assets.json\n- \"Search assets.jsonl?\" -> GET /export/org/assets.jsonl\n- \"Search assets.csv?\" -> GET /export/org/assets.csv\n- \"Search assets.nmap.xml?\" -> GET /export/org/assets.nmap.xml\n- \"Search services.json?\" -> GET /export/org/services.json\n- \"Search services.jsonl?\" -> GET /export/org/services.jsonl\n- \"Search services.csv?\" -> GET /export/org/services.csv\n- \"Search sites.json?\" -> GET /export/org/sites.json\n- \"Search sites.jsonl?\" -> GET /export/org/sites.jsonl\n- \"List all sites.csv?\" -> GET /export/org/sites.csv\n- \"Search wireless.json?\" -> GET /export/org/wireless.json\n- \"Search wireless.jsonl?\" -> GET /export/org/wireless.jsonl\n- \"Search wireless.csv?\" -> GET /export/org/wireless.csv\n- \"List all top.types.csv?\" -> GET /org/assets/top.types.csv\n- \"List all top.os.csv?\" -> GET /org/assets/top.os.csv\n- \"List all top.hw.csv?\" -> GET /org/assets/top.hw.csv\n- \"List all top.tags.csv?\" -> GET /org/assets/top.tags.csv\n- \"List all top.tcp.csv?\" -> GET /org/services/top.tcp.csv\n- \"List all top.udp.csv?\" -> GET /org/services/top.udp.csv\n- \"List all top.protocols.csv?\" -> GET /org/services/top.protocols.csv\n- \"List all top.products.csv?\" -> GET /org/services/top.products.csv\n- \"List all subnet.stats.csv?\" -> GET /org/services/subnet.stats.csv\n- \"List all org?\" -> GET /org\n- \"List all key?\" -> GET /org/key\n- \"List all agents?\" -> GET /org/agents\n- \"Get agent details?\" -> GET /org/agents/{agent_id}\n- \"Delete a agent?\" -> DELETE /org/agents/{agent_id}\n- \"Partially update a agent?\" -> PATCH /org/agents/{agent_id}\n- \"Create a update?\" -> POST /org/agents/{agent_id}/update\n- \"List all sites?\" -> GET /org/sites\n- \"Get site details?\" -> GET /org/sites/{site_id}\n- \"Delete a site?\" -> DELETE /org/sites/{site_id}\n- \"Partially update a site?\" -> PATCH /org/sites/{site_id}\n- \"Search assets?\" -> GET /org/assets\n- \"Get asset details?\" -> GET /org/assets/{asset_id}\n- \"Delete a asset?\" -> DELETE /org/assets/{asset_id}\n- \"Create a clearTag?\" -> POST /org/assets/bulk/clearTags\n- \"Search services?\" -> GET /org/services\n- \"Get service details?\" -> GET /org/services/{service_id}\n- \"Delete a service?\" -> DELETE /org/services/{service_id}\n- \"Search wireless?\" -> GET /org/wireless\n- \"Get wireless details?\" -> GET /org/wireless/{wireless_id}\n- \"Delete a wireless?\" -> DELETE /org/wireless/{wireless_id}\n- \"Search tasks?\" -> GET /org/tasks\n- \"Get task details?\" -> GET /org/tasks/{task_id}\n- \"Partially update a task?\" -> PATCH /org/tasks/{task_id}\n- \"List all data?\" -> GET /org/tasks/{task_id}/data\n- \"List all changes?\" -> GET /org/tasks/{task_id}/changes\n- \"List all log?\" -> GET /org/tasks/{task_id}/log\n- \"Create a stop?\" -> POST /org/tasks/{task_id}/stop\n- \"Create a hide?\" -> POST /org/tasks/{task_id}/hide\n- \"Search orgs?\" -> GET /account/orgs\n- \"Get org details?\" -> GET /account/orgs/{org_id}\n- \"Partially update a org?\" -> PATCH /account/orgs/{org_id}\n- \"Delete a org?\" -> DELETE /account/orgs/{org_id}\n- \"List all license?\" -> GET /account/license\n- \"Search sites?\" -> GET /account/sites\n- \"Search credentials?\" -> GET /account/credentials\n- \"Get credential details?\" -> GET /account/credentials/{credential_id}\n- \"Delete a credential?\" -> DELETE /account/credentials/{credential_id}\n- \"List all keys?\" -> GET /account/keys\n- \"Get key details?\" -> GET /account/keys/{key_id}\n- \"Delete a key?\" -> DELETE /account/keys/{key_id}\n- \"Search events.json?\" -> GET /account/events.json\n- \"Search events.jsonl?\" -> GET /account/events.jsonl\n- \"Search templates?\" -> GET /account/tasks/templates\n- \"Create a template?\" -> POST /account/tasks/templates\n- \"Get template details?\" -> GET /account/tasks/templates/{scan_template_id}\n- \"Delete a template?\" -> DELETE /account/tasks/templates/{scan_template_id}\n- \"Search agents?\" -> GET /account/agents\n- \"List all users?\" -> GET /account/users\n- \"Get user details?\" -> GET /account/users/{user_id}\n- \"Delete a user?\" -> DELETE /account/users/{user_id}\n- \"Partially update a user?\" -> PATCH /account/users/{user_id}\n- \"List all groups?\" -> GET /account/groups\n- \"Create a group?\" -> POST /account/groups\n- \"Get group details?\" -> GET /account/groups/{group_id}\n- \"Delete a group?\" -> DELETE /account/groups/{group_id}\n- \"List all assets.servicenow.csv?\" -> GET /export/org/assets.servicenow.csv\n- \"List all assets.servicenow.json?\" -> GET /export/org/assets.servicenow.json\n- \"List all services.servicenow.csv?\" -> GET /export/org/services.servicenow.csv\n- \"Search assets.cisco.csv?\" -> GET /export/org/assets.cisco.csv\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Rumble API (deprecated)\n@base https://console.rumble.run/api/v1.0\n@version 2.15.0\n@auth Bearer bearer\n@endpoints 116\n@hint download_for_search\n@toc releases(3), export(19), org(48), account(46)\n\n@group releases\n@endpoint GET /releases/agent/version\n@desc Returns latest agent version\n@returns(200) {id: str(string), version: str(string)} # component version\n\n@endpoint GET /releases/scanner/version\n@desc Returns latest scanner version\n@returns(200) {id: str(string), version: str(string)} # component version\n\n@endpoint GET /releases/platform/version\n@desc Returns latest platform version\n@returns(200) {id: str(string), version: str(string)} # component version\n\n@endgroup\n\n@group export\n@endpoint GET /export/org/assets.json\n@desc Exports the asset inventory\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated}\n@returns(200) filtered asset results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/assets.jsonl\n@desc Asset inventory as JSON line-delimited\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated}\n@returns(200) filtered asset results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/assets.csv\n@desc Asset inventory as CSV\n@optional {search: str # an optional search string for filtering results}\n@returns(200) filtered asset results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/assets.nmap.xml\n@desc Asset inventory as Nmap-style XML\n@optional {search: str # an optional search string for filtering results}\n@returns(200) filtered asset results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/services.json\n@desc Service inventory as JSON\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated}\n@returns(200) filtered service results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/services.jsonl\n@desc Service inventory as JSON line-delimited\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated}\n@returns(200) filtered service results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/services.csv\n@desc Service inventory as CSV\n@optional {search: str # an optional search string for filtering results}\n@returns(200) filtered service results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/sites.json\n@desc Export all sites\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated}\n@returns(200) all sites\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/sites.jsonl\n@desc Site list as JSON line-delimited\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated}\n@returns(200) all sites\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/sites.csv\n@desc Site list as CSV\n@returns(200) all sites\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/wireless.json\n@desc Wireless inventory as JSON\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated}\n@returns(200) filtered wireless results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/wireless.jsonl\n@desc Wireless inventory as JSON line-delimited\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated}\n@returns(200) filtered wireless results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/wireless.csv\n@desc Wireless inventory as CSV\n@optional {search: str # an optional search string for filtering results}\n@returns(200) filtered wireless results\n@errors {401: Access token is missing or invalid}\n\n@endgroup\n\n@group org\n@endpoint GET /org/assets/top.types.csv\n@desc Top asset types as CSV\n@returns(200) top asset types and counts as csv\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/assets/top.os.csv\n@desc Top asset operating systems as CSV\n@returns(200) top operating systems and counts as csv\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/assets/top.hw.csv\n@desc Top asset hardware products as CSV\n@returns(200) top asset hardware platforms and counts as csv\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/assets/top.tags.csv\n@desc Top asset tags as CSV\n@returns(200) top asset tags and counts as csv\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/services/top.tcp.csv\n@desc Top TCP services as CSV\n@returns(200) top TCP services and counts as csv\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/services/top.udp.csv\n@desc Top UDP services as CSV\n@returns(200) top UDP services and counts as csv\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/services/top.protocols.csv\n@desc Top service protocols as CSV\n@returns(200) top service protocols and counts as csv\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/services/top.products.csv\n@desc Top service products as CSV\n@returns(200) top service products and counts as csv\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/services/subnet.stats.csv\n@desc Subnet utilization statistics as as CSV\n@optional {mask: str # an optional subnet mask size (ex:24)}\n@returns(200) subnet utilization stats as csv\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org\n@desc Get organization details\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), client_id: str(uuid), download_token: str, download_token_created_at: int(int64), permanent: bool, name: str, description: str, inactive: bool, deactivated_at: int(int64), service_count: int(int64), service_count_tcp: int(int64), service_count_udp: int(int64), service_count_arp: int(int64), service_count_icmp: int(int64), asset_count: int(int64), export_token: str, export_token_created_at: int(int64), export_token_last_used_at: int(int64), export_token_last_used_by: str, export_token_counter: int(int64), project: bool, parent_id: str(uuid), expiration_assets_stale: int(int64), expiration_assets_offline: int(int64), expiration_scans: int(int64)} # organization details\n@errors {401: Access token is missing or invalid}\n\n@endpoint PATCH /org\n@desc Update organization details\n@optional {name: str, description: str, export_token: str, project: str(boolean), parent_id: str(uuid), expiration_assets_stale: str(number), expiration_assets_offline: str(number), expiration_scans: str(number)}\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), client_id: str(uuid), download_token: str, download_token_created_at: int(int64), permanent: bool, name: str, description: str, inactive: bool, deactivated_at: int(int64), service_count: int(int64), service_count_tcp: int(int64), service_count_udp: int(int64), service_count_arp: int(int64), service_count_icmp: int(int64), asset_count: int(int64), export_token: str, export_token_created_at: int(int64), export_token_last_used_at: int(int64), export_token_last_used_by: str, export_token_counter: int(int64), project: bool, parent_id: str(uuid), expiration_assets_stale: int(int64), expiration_assets_offline: int(int64), expiration_scans: int(int64)} # organization details\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/key\n@desc Get API key details\n@returns(200) {id: str(uuid), client_id: str(uuid), organization_id: str(uuid), created_at: int(int64), created_by: str(email), comment: str, last_used_at: int(int64), last_used_ip: str, last_used_ua: str, counter: int(int64), usage_today: int(int64), usage_limit: int(int64), token: str, inactive: bool, type: str} # api key details\n@errors {401: Access token is missing or invalid}\n\n@endpoint DELETE /org/key\n@desc Remove the current API key\n@returns(204) empty response\n@errors {401: Access token is missing or invalid}\n\n@endpoint PATCH /org/key/rotate\n@desc Rotate the API key secret and return the updated key\n@returns(200) {id: str(uuid), client_id: str(uuid), organization_id: str(uuid), created_at: int(int64), created_by: str(email), comment: str, last_used_at: int(int64), last_used_ip: str, last_used_ua: str, counter: int(int64), usage_today: int(int64), usage_limit: int(int64), token: str, inactive: bool, type: str} # api key details\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/agents\n@desc Get all agents\n@returns(200) array of agents\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/agents/{agent_id}\n@desc Get details for a single agent\n@required {agent_id: str(uuid) # UUID of the agent}\n@returns(200) {id: str(uuid), client_id: str(uuid), organization_id: str(uuid), created_at: int(int64), updated_at: int(int64), host_id: str, hub_id: str(uuid), name: str(hostname), site_id: str(uuid), last_checkin: int(int64), os: str, arch: str, version: str, external_ip: str, internal_ip: str, system_info: map, connected: bool, inactive: bool, deactivated_at: int(int64)} # agent details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint DELETE /org/agents/{agent_id}\n@desc Remove and uninstall an agent\n@required {agent_id: str(uuid) # UUID of the agent to remove}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint PATCH /org/agents/{agent_id}\n@desc Update the site associated with agent\n@required {agent_id: str(uuid) # UUID of the agent to update, site_id: str(uuid)}\n@returns(200) {id: str(uuid), client_id: str(uuid), organization_id: str(uuid), created_at: int(int64), updated_at: int(int64), host_id: str, hub_id: str(uuid), name: str(hostname), site_id: str(uuid), last_checkin: int(int64), os: str, arch: str, version: str, external_ip: str, internal_ip: str, system_info: map, connected: bool, inactive: bool, deactivated_at: int(int64)} # agent details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint POST /org/agents/{agent_id}/update\n@desc Force an agent to update and restart\n@required {agent_id: str(uuid) # UUID of the agent to update}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /org/sites\n@desc Get all sites\n@returns(200) array of sites\n@errors {401: Access token is missing or invalid}\n\n@endpoint PUT /org/sites\n@desc Create a new site\n@required {name: str}\n@optional {description: str, scope: str, excludes: str}\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), permanent: bool, name: str, description: str, scope: str, excludes: str, subnets: map} # site details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /org/sites/{site_id}\n@desc Get site details\n@required {site_id: str(uuid) # UUID or name of the site}\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), permanent: bool, name: str, description: str, scope: str, excludes: str, subnets: map} # site details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint DELETE /org/sites/{site_id}\n@desc Remove a site and associated assets\n@required {site_id: str(uuid) # UUID or name of the site to remove}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint PATCH /org/sites/{site_id}\n@desc Update a site definition\n@required {site_id: str(uuid) # UUID or name of the site to update, name: str}\n@optional {description: str, scope: str, excludes: str}\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), permanent: bool, name: str, description: str, scope: str, excludes: str, subnets: map} # site details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint PUT /org/sites/{site_id}/import\n@desc Import a scan data file into a site\n@required {site_id: str(uuid) # UUID or name of the site to import scan data into}\n@returns(200) {id: str(uuid), name: str, description: str, template_id: str(uuid), client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid)} # import task\n@errors {401: Access token is missing or invalid, 403: License has expired, 404: Resource not found, 500: Request could not be processed}\n\n@endpoint PUT /org/sites/{site_id}/import/nessus\n@desc Import a Nessus scan data file into a site\n@required {site_id: str(uuid) # UUID or name of the site to import Nessus scan data into}\n@returns(200) {id: str(uuid), name: str, description: str, template_id: str(uuid), client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid)} # import task\n@errors {401: Access token is missing or invalid, 403: License has expired, 404: Resource not found, 500: Request could not be processed}\n\n@endpoint PUT /org/sites/{site_id}/scan\n@desc Create a scan task for a given site\n@required {site_id: str(uuid) # UUID or name of the site to scan}\n@returns(200) {id: str(uuid), name: str, description: str, template_id: str(uuid), client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid)} # a created scan task\n@errors {401: Access token is missing or invalid, 403: License has expired, 404: Resource not found, 500: Request could not be processed}\n\n@endpoint GET /org/assets\n@desc Get all assets\n@optional {search: str # an optional search string for filtering results}\n@returns(200) array of assets\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/assets/{asset_id}\n@desc Get asset details\n@required {asset_id: str(uuid) # UUID of the asset to retrieve}\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), organization_id: str(uuid), site_id: str(uuid), alive: bool, first_seen: int(int64), last_seen: int(int64), detected_by: str, type: str, os: str, os_version: str, hw: str, addresses: [str], addresses_extra: [str], macs: [str(mac)], mac_vendors: [str], names: [str], domains: [str], service_count: int(int64), service_count_tcp: int(int64), service_count_udp: int(int64), service_count_arp: int(int64), service_count_icmp: int(int64), lowest_ttl: int(int64), lowest_rtt: int(int64), last_agent_id: str(uuid), last_task_id: str(uuid), newest_mac: str(mac), newest_mac_vendor: str, newest_mac_age: int(int64), comments: str, service_ports_tcp: [str(port)], service_ports_udp: [str(port)], service_ports_protocols: [str], service_ports_products: [str], org_name: str, site_name: str, agent_name: str, tags: map, services: map, rtts: map, credentials: map, attributes: map} # asset details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint DELETE /org/assets/{asset_id}\n@desc Remove an asset\n@required {asset_id: str(uuid) # UUID of the asset to remove}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint PATCH /org/assets/{asset_id}/comments\n@desc Update asset comments\n@required {asset_id: str(uuid) # UUID of the asset to update, comments: str}\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), organization_id: str(uuid), site_id: str(uuid), alive: bool, first_seen: int(int64), last_seen: int(int64), detected_by: str, type: str, os: str, os_version: str, hw: str, addresses: [str], addresses_extra: [str], macs: [str(mac)], mac_vendors: [str], names: [str], domains: [str], service_count: int(int64), service_count_tcp: int(int64), service_count_udp: int(int64), service_count_arp: int(int64), service_count_icmp: int(int64), lowest_ttl: int(int64), lowest_rtt: int(int64), last_agent_id: str(uuid), last_task_id: str(uuid), newest_mac: str(mac), newest_mac_vendor: str, newest_mac_age: int(int64), comments: str, service_ports_tcp: [str(port)], service_ports_udp: [str(port)], service_ports_protocols: [str], service_ports_products: [str], org_name: str, site_name: str, agent_name: str, tags: map, services: map, rtts: map, credentials: map, attributes: map} # asset details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint PATCH /org/assets/{asset_id}/tags\n@desc Update asset tags\n@required {asset_id: str(uuid) # UUID of the asset to update, tags: str}\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), organization_id: str(uuid), site_id: str(uuid), alive: bool, first_seen: int(int64), last_seen: int(int64), detected_by: str, type: str, os: str, os_version: str, hw: str, addresses: [str], addresses_extra: [str], macs: [str(mac)], mac_vendors: [str], names: [str], domains: [str], service_count: int(int64), service_count_tcp: int(int64), service_count_udp: int(int64), service_count_arp: int(int64), service_count_icmp: int(int64), lowest_ttl: int(int64), lowest_rtt: int(int64), last_agent_id: str(uuid), last_task_id: str(uuid), newest_mac: str(mac), newest_mac_vendor: str, newest_mac_age: int(int64), comments: str, service_ports_tcp: [str(port)], service_ports_udp: [str(port)], service_ports_protocols: [str], service_ports_products: [str], org_name: str, site_name: str, agent_name: str, tags: map, services: map, rtts: map, credentials: map, attributes: map} # asset details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint PATCH /org/assets/bulk/tags\n@desc Update tags across multiple assets based on a search query\n@required {tags: str, search: str}\n@returns(200) status message\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint POST /org/assets/bulk/clearTags\n@desc Clear all tags across multiple assets based on a search query\n@required {search: str}\n@returns(200) status message\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /org/services\n@desc Get all services\n@optional {search: str # an optional search string for filtering results}\n@returns(200) array of services\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/services/{service_id}\n@desc Get service details\n@required {service_id: str(uuid) # UUID of the service to retrieve}\n@returns(200) {service_id: str(uuid), service_asset_id: str(uuid), service_created_at: int(int64), service_updated_at: int(int64), service_address: str, service_transport: str, service_vhost: str, service_port: str(port), service_data: map, service_protocol: str, service_summary: str, service_screenshot_link: str, service_link: str, id: str(uuid), created_at: int(int64), updated_at: int(int64), organization_id: str(uuid), site_id: str(uuid), alive: bool, first_seen: int(int64), last_seen: int(int64), detected_by: str, type: str, os: str, os_version: str, hw: str, addresses: [str], addresses_extra: [str], macs: [str(mac)], mac_vendors: [str], names: [str], domains: [str], service_count: int(int64), service_count_tcp: int(int64), service_count_udp: int(int64), service_count_arp: int(int64), service_count_icmp: int(int64), lowest_ttl: int(int64), lowest_rtt: int(int64), last_agent_id: str(uuid), last_task_id: str(uuid), newest_mac: str(mac), newest_mac_vendor: str, newest_mac_age: int(int64), comments: str, service_ports_tcp: [str(port)], service_ports_udp: [str(port)], service_ports_protocols: [str], service_ports_products: [str], org_name: str, site_name: str, agent_name: str, tags: map, services: map, rtts: map, credentials: map, attributes: map} # service details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint DELETE /org/services/{service_id}\n@desc Remove a service\n@required {service_id: str(uuid) # UUID of the service to remove}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /org/wireless\n@desc Get all wireless LANs\n@optional {search: str # an optional search string for filtering results}\n@returns(200) array of wireless LANs\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/wireless/{wireless_id}\n@desc Get wireless LAN details\n@required {wireless_id: str(uuid) # UUID of the wireless LAN to retrieve}\n@returns(200) {id: str(uuid), created_at: int(int64), last_seen: int(int64), organization_id: str(uuid), site_id: str(uuid), last_agent_id: str(uuid), last_task_id: str(uuid), essid: str(uuid), bssid: str(mac), type: str, authentication: str, encryption: str, signal: int, channels: str, interface: str, vendor: str, family: str, data: map, org_name: str, site_name: str, agent_name: str} # wireless details\n@errors {401: Access token is missing or invalid}\n\n@endpoint DELETE /org/wireless/{wireless_id}\n@desc Remove a wireless LAN\n@required {wireless_id: str(uuid) # UUID of the wireless LAN to remove}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /org/tasks\n@desc Get all tasks (last 1000)\n@optional {status: str # an optional status string for filtering results, search: str # an optional search string for filtering results}\n@returns(200) array of tasks\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /org/tasks/{task_id}\n@desc Get task details\n@required {task_id: str(uuid) # UUID of the task to retrieve}\n@returns(200) {id: str(uuid), name: str, description: str, template_id: str(uuid), client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid)} # task details\n@errors {401: Access token is missing or invalid}\n\n@endpoint PATCH /org/tasks/{task_id}\n@desc Update task parameters\n@required {task_id: str(uuid) # UUID of the task to update, id: str(uuid)}\n@optional {name: str, description: str, template_id: str(uuid), client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid)}\n@returns(200) {id: str(uuid), name: str, description: str, template_id: str(uuid), client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid)} # task details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /org/tasks/{task_id}/data\n@desc Returns a temporary task scan data url\n@required {task_id: str(uuid) # UUID of the task}\n@returns(200) A URL to a resource\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /org/tasks/{task_id}/changes\n@desc Returns a temporary task change report data url\n@required {task_id: str(uuid) # UUID of the task}\n@returns(200) A URL to a resource\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /org/tasks/{task_id}/log\n@desc Returns a temporary task log data url\n@required {task_id: str(uuid) # UUID of the task}\n@returns(200) A URL to a resource\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint POST /org/tasks/{task_id}/stop\n@desc Signal that a task should be stopped or canceledThis will also remove recurring and scheduled tasks\n@required {task_id: str(uuid) # UUID of the task to stop}\n@returns(200)\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint POST /org/tasks/{task_id}/hide\n@desc Signal that a completed task should be hidden\n@required {task_id: str(uuid) # UUID of the task to hide}\n@returns(200)\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endgroup\n\n@group account\n@endpoint GET /account/orgs\n@desc Get all organization details\n@optional {search: str # an optional search string for filtering results}\n@returns(200) array of organizations\n@errors {401: Access token is missing or invalid}\n\n@endpoint PUT /account/orgs\n@desc Create a new organization\n@optional {name: str, description: str, export_token: str, project: str(boolean), parent_id: str(uuid), expiration_assets_stale: str(number), expiration_assets_offline: str(number), expiration_scans: str(number)}\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), client_id: str(uuid), download_token: str, download_token_created_at: int(int64), permanent: bool, name: str, description: str, inactive: bool, deactivated_at: int(int64), service_count: int(int64), service_count_tcp: int(int64), service_count_udp: int(int64), service_count_arp: int(int64), service_count_icmp: int(int64), asset_count: int(int64), export_token: str, export_token_created_at: int(int64), export_token_last_used_at: int(int64), export_token_last_used_by: str, export_token_counter: int(int64), project: bool, parent_id: str(uuid), expiration_assets_stale: int(int64), expiration_assets_offline: int(int64), expiration_scans: int(int64)} # organization details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /account/orgs/{org_id}\n@desc Get organization details\n@required {org_id: str(uuid) # UUID of the organization to retrieve}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint PATCH /account/orgs/{org_id}\n@desc Update organization details\n@required {org_id: str(uuid) # UUID of the organization to retrieve}\n@optional {name: str, description: str, export_token: str, project: str(boolean), parent_id: str(uuid), expiration_assets_stale: str(number), expiration_assets_offline: str(number), expiration_scans: str(number)}\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), client_id: str(uuid), download_token: str, download_token_created_at: int(int64), permanent: bool, name: str, description: str, inactive: bool, deactivated_at: int(int64), service_count: int(int64), service_count_tcp: int(int64), service_count_udp: int(int64), service_count_arp: int(int64), service_count_icmp: int(int64), asset_count: int(int64), export_token: str, export_token_created_at: int(int64), export_token_last_used_at: int(int64), export_token_last_used_by: str, export_token_counter: int(int64), project: bool, parent_id: str(uuid), expiration_assets_stale: int(int64), expiration_assets_offline: int(int64), expiration_scans: int(int64)} # organization details\n@errors {401: Access token is missing or invalid}\n\n@endpoint DELETE /account/orgs/{org_id}\n@desc Remove this organization\n@required {org_id: str(uuid) # UUID of the organization to retrieve}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid}\n\n@endpoint DELETE /account/orgs/{org_id}/exportToken\n@desc Removes the export token from the specified organization\n@required {org_id: str(uuid) # UUID of the organization to retrieve}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid}\n\n@endpoint PATCH /account/orgs/{org_id}/exportToken/rotate\n@desc Rotates the organization export token and returns the updated organization\n@required {org_id: str(uuid) # UUID of the organization to retrieve}\n@returns(200) {id: str(uuid), created_at: int(int64), updated_at: int(int64), client_id: str(uuid), download_token: str, download_token_created_at: int(int64), permanent: bool, name: str, description: str, inactive: bool, deactivated_at: int(int64), service_count: int(int64), service_count_tcp: int(int64), service_count_udp: int(int64), service_count_arp: int(int64), service_count_icmp: int(int64), asset_count: int(int64), export_token: str, export_token_created_at: int(int64), export_token_last_used_at: int(int64), export_token_last_used_by: str, export_token_counter: int(int64), project: bool, parent_id: str(uuid), expiration_assets_stale: int(int64), expiration_assets_offline: int(int64), expiration_scans: int(int64)} # organization details\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/license\n@desc Get license details\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/sites\n@desc Get all sites details across all organizations\n@optional {search: str # an optional search string for filtering results}\n@returns(200) array of sites\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/credentials\n@desc Get all account credentials\n@optional {search: str # an optional search string for filtering results}\n@returns(200) array of credentials\n@errors {401: Access token is missing or invalid}\n\n@endpoint PUT /account/credentials\n@desc Create a new credential\n@optional {name: str, type: str(miradore_api_key_v1/aws_access_secret), acl: map, global: bool, cidrs: str, secret: any}\n@returns(200) {id: str(uuid), client_id: str(uuid), name: str, type: str, created_at: int(int64), created_by_id: str(uuid), created_by_email: str(email), acl: map, global: bool, cidrs: [str], last_used_at: int(int64), last_used_by_id: str(uuid)} # credential details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /account/credentials/{credential_id}\n@desc Get credential details\n@required {credential_id: str(uuid) # UUID of the credential to retrieve}\n@returns(200) {id: str(uuid), client_id: str(uuid), name: str, type: str, created_at: int(int64), created_by_id: str(uuid), created_by_email: str(email), acl: map, global: bool, cidrs: [str], last_used_at: int(int64), last_used_by_id: str(uuid)} # credential details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint DELETE /account/credentials/{credential_id}\n@desc Remove this credential\n@required {credential_id: str(uuid) # UUID of the credential to delete}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /account/keys\n@desc Get all active API keys\n@returns(200) array of keys\n@errors {401: Access token is missing or invalid}\n\n@endpoint PUT /account/keys\n@desc Create a new key\n@optional {comment: str, organization_id: str(uuid)}\n@returns(200) {id: str(uuid), client_id: str(uuid), organization_id: str(uuid), created_at: int(int64), created_by: str(email), comment: str, last_used_at: int(int64), last_used_ip: str, last_used_ua: str, counter: int(int64), usage_today: int(int64), usage_limit: int(int64), token: str, inactive: bool, type: str} # key details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /account/keys/{key_id}\n@desc Get key details\n@required {key_id: str(uuid) # UUID of the key to retrieve}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint DELETE /account/keys/{key_id}\n@desc Remove this key\n@required {key_id: str(uuid) # UUID of the key to retrieve}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid}\n\n@endpoint PATCH /account/keys/{key_id}/rotate\n@desc Rotates the key secret\n@required {key_id: str(uuid) # UUID of the key to retrieve}\n@returns(200) {id: str(uuid), client_id: str(uuid), organization_id: str(uuid), created_at: int(int64), created_by: str(email), comment: str, last_used_at: int(int64), last_used_ip: str, last_used_ua: str, counter: int(int64), usage_today: int(int64), usage_limit: int(int64), token: str, inactive: bool, type: str} # key details\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/events.json\n@desc System event log as JSON\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated}\n@returns(200) filtered event results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/events.jsonl\n@desc System event log as JSON line-delimited\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated}\n@returns(200) filtered event results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/tasks\n@desc Get all task details across all organizations (up to 1000)\n@optional {search: str # an optional search string for filtering results}\n@returns(200) array of tasks\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/tasks/templates\n@desc Get all scan templates across all organizations (up to 1000)\n@optional {search: str # an optional search string for filtering results}\n@returns(200) array of scan templates\n@errors {401: Access token is missing or invalid, 422: failed to parse search string}\n\n@endpoint POST /account/tasks/templates\n@desc Create a new scan template\n@required {name: str, global: bool, acl: map}\n@optional {description: str, params: map}\n@returns(200) {id: str(uuid), client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid), name: str, description: str, grace_period: str, source_id: str, template_id: str(uuid), size_site: int(int64), size_data: int(int64), size_results: int(int64), hosted_zone_id: str(uuid), linked_task_count: int(int32), global: bool, acl: map} # scan template\n@errors {400: invalid request body, 401: Access token is missing or invalid, 422: invalid request body}\n\n@endpoint PUT /account/tasks/templates\n@desc Update scan template\n@required {id: str(uuid), global: bool, acl: map}\n@optional {client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid), name: str, description: str, grace_period: str, source_id: str, template_id: str(uuid), size_site: int(int64), size_data: int(int64), size_results: int(int64), hosted_zone_id: str(uuid), linked_task_count: int(int32)}\n@returns(200) {id: str(uuid), client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid), name: str, description: str, grace_period: str, source_id: str, template_id: str(uuid), size_site: int(int64), size_data: int(int64), size_results: int(int64), hosted_zone_id: str(uuid), linked_task_count: int(int32), global: bool, acl: map} # scan template\n@errors {400: invalid request body, 401: Access token is missing or invalid, 404: scan template or permissions not found, 422: invalid request body}\n\n@endpoint GET /account/tasks/templates/{scan_template_id}\n@desc Get scan template details\n@required {scan_template_id: str(uuid) # UUID of the scan template to retrieve}\n@returns(200) {id: str(uuid), client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid), name: str, description: str, grace_period: str, source_id: str, template_id: str(uuid), size_site: int(int64), size_data: int(int64), size_results: int(int64), hosted_zone_id: str(uuid), linked_task_count: int(int32), global: bool, acl: map} # scan template\n@errors {401: Access token is missing or invalid, 404: scan template not found, 422: invalid scan template id}\n\n@endpoint DELETE /account/tasks/templates/{scan_template_id}\n@desc Remove scan template\n@required {scan_template_id: str(uuid) # UUID of the scan template to remove}\n@returns(200) {id: str(uuid), client_id: str(uuid), organization_id: str(uuid), agent_id: str(uuid), site_id: str(uuid), cruncher_id: str(uuid), created_at: int(int64), created_by: str(email), created_by_user_id: str(uuid), updated_at: int(int64), type: str, status: str, error: str, params: map, stats: map, hidden: bool, parent_id: str(uuid), recur: bool, recur_frequency: str, start_time: int(int64), recur_last: int(int64), recur_next: int(int64), recur_last_task_id: str(uuid), name: str, description: str, grace_period: str, source_id: str, template_id: str(uuid), size_site: int(int64), size_data: int(int64), size_results: int(int64), hosted_zone_id: str(uuid), linked_task_count: int(int32), global: bool, acl: map} # scan template\n@errors {401: Access token is missing or invalid, 404: scan template not found, 422: invalid request}\n\n@endpoint GET /account/agents\n@desc Get all agents across all organizations\n@optional {search: str # an optional search string for filtering results}\n@returns(200) array of tasks\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/users\n@desc Get all users\n@returns(200) array of users\n@errors {401: Access token is missing or invalid}\n\n@endpoint PUT /account/users\n@desc Create a new user account\n@optional {first_name: str, last_name: str, email: str, client_admin: bool, org_default_role: str, org_roles: map}\n@returns(200) {id: str(uuid), client_id: str(uuid), created_at: int(int64), updated_at: int(int64), first_name: str, last_name: str, email: str, client_admin: bool, org_default_role: str, org_roles: map, reset_token_expiration: int(int64), invite_token_expiration: int(int64), last_login_ip: str, last_login_at: int(int64), last_login_ua: str, sso_only: bool, login_failures: int(int64)} # key details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint PUT /account/users/invite\n@desc Create a new user account and send an email invite\n@optional {first_name: str, last_name: str, email: str, client_admin: bool, org_default_role: str, org_roles: map, subject: str, message: str}\n@returns(200) {id: str(uuid), client_id: str(uuid), created_at: int(int64), updated_at: int(int64), first_name: str, last_name: str, email: str, client_admin: bool, org_default_role: str, org_roles: map, reset_token_expiration: int(int64), invite_token_expiration: int(int64), last_login_ip: str, last_login_at: int(int64), last_login_ua: str, sso_only: bool, login_failures: int(int64)} # key details\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint GET /account/users/{user_id}\n@desc Get user details\n@required {user_id: str(uuid) # UUID of the user to retrieve}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint DELETE /account/users/{user_id}\n@desc Remove this user\n@required {user_id: str(uuid) # UUID of the user to delete}\n@returns(204) empty response\n@errors {401: Access token is missing or invalid}\n\n@endpoint PATCH /account/users/{user_id}\n@desc Update a user's details\n@required {user_id: str(uuid) # UUID of the user to retrieve}\n@optional {first_name: str, last_name: str, email: str, client_admin: bool, org_default_role: str, org_roles: map}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint PATCH /account/users/{user_id}/resetMFA\n@desc Resets the user's MFA tokens\n@required {user_id: str(uuid) # UUID of the user to retrieve}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint PATCH /account/users/{user_id}/resetLockout\n@desc Resets the user's lockout status\n@required {user_id: str(uuid) # UUID of the user to retrieve}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint PATCH /account/users/{user_id}/resetPassword\n@desc Sends the user a password reset email\n@required {user_id: str(uuid) # UUID of the user to retrieve}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/groups\n@desc Get all groups\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint POST /account/groups\n@desc Create a new group\n@optional {description: str, name: str, expires_at: int(int64), org_default_role: str, org_roles: map}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint PUT /account/groups\n@desc Update an existing group\n@optional {id: str(uuid), description: str, name: str, expires_at: int(int64), org_default_role: str, org_roles: map}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/groups/{group_id}\n@desc Get group details\n@returns(200)\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint DELETE /account/groups/{group_id}\n@desc Remove this group\n@returns(204) empty response\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/sso/groups\n@desc Get all SSO group mappings\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint POST /account/sso/groups\n@desc Create a new SSO group mapping\n@required {id: str(uuid), group_id: str(uuid), sso_attribute: str, sso_value: str}\n@optional {group_name: str, description: str, created_by_email: str, created_at: int(int64), updated_at: int(int64)}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint PUT /account/sso/groups\n@desc Update an existing SSO group mapping\n@required {id: str(uuid), group_id: str(uuid), sso_attribute: str, sso_value: str}\n@optional {group_name: str, description: str, created_by_email: str, created_at: int(int64), updated_at: int(int64)}\n@returns(200)\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /account/sso/groups/{group_mapping_id}\n@desc Get SSO group mapping details\n@returns(200)\n@errors {401: Access token is missing or invalid, 404: Resource not found}\n\n@endpoint DELETE /account/sso/groups/{group_mapping_id}\n@desc Remove this SSO group mapping\n@returns(204) empty response\n@errors {401: Access token is missing or invalid}\n\n@endgroup\n\n@group export\n@endpoint GET /export/org/assets/sync/created/assets.json\n@desc Exports the asset inventory in a sync-friendly manner using created_at as a checkpoint. Requires the Splunk entitlement.\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated, since: int(int64) # an optional unix timestamp to use as a checkpoint}\n@returns(200) {since: int(int64), assets: [map]} # filtered asset results with a checkpoint wrapper\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/assets/sync/updated/assets.json\n@desc Exports the asset inventory in a sync-friendly manner using updated_at as a checkpoint. Requires the Splunk entitlement.\n@optional {search: str # an optional search string for filtering results, fields: str # an optional list of fields to export, comma-separated, since: int(int64) # an optional unix timestamp to use as a checkpoint}\n@returns(200) {since: int(int64), assets: [map]} # filtered asset results with a checkpoint wrapper\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/assets.servicenow.csv\n@desc Export an asset inventory as CSV for ServiceNow integration\n@returns(200) asset export\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/assets.servicenow.json\n@desc Exports the asset inventory as JSON\n@returns(200) filtered asset results\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/services.servicenow.csv\n@desc Export a service inventory as CSV for ServiceNow integration\n@returns(200) services export\n@errors {401: Access token is missing or invalid}\n\n@endpoint GET /export/org/assets.cisco.csv\n@desc Cisco serial number and model name export for Cisco Smart Net Total Care Service.\n@optional {search: str # an optional search string for filtering results}\n@returns(200) filtered asset results\n@errors {401: Access token is missing or invalid}\n\n@endgroup\n\n@end\n"}}