@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Rumble API (deprecated)
@base https://console.rumble.run/api/v1.0
@version 2.15.0
@auth Bearer bearer
@endpoints 116
@hint download_for_search
@toc releases(3), export(19), org(48), account(46)

@group releases
@endpoint GET /releases/agent/version
@returns(200) {id: str(string), version: str(string)}

@endpoint GET /releases/scanner/version
@returns(200) {id: str(string), version: str(string)}

@endpoint GET /releases/platform/version
@returns(200) {id: str(string), version: str(string)}

@endgroup

@group export
@endpoint GET /export/org/assets.json
@optional {search: str, fields: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/assets.jsonl
@optional {search: str, fields: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/assets.csv
@optional {search: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/assets.nmap.xml
@optional {search: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/services.json
@optional {search: str, fields: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/services.jsonl
@optional {search: str, fields: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/services.csv
@optional {search: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/sites.json
@optional {search: str, fields: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/sites.jsonl
@optional {search: str, fields: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/sites.csv
@returns(200)
@errors {401}

@endpoint GET /export/org/wireless.json
@optional {search: str, fields: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/wireless.jsonl
@optional {search: str, fields: str}
@returns(200)
@errors {401}

@endpoint GET /export/org/wireless.csv
@optional {search: str}
@returns(200)
@errors {401}

@endgroup

@group org
@endpoint GET /org/assets/top.types.csv
@returns(200)
@errors {401}

@endpoint GET /org/assets/top.os.csv
@returns(200)
@errors {401}

@endpoint GET /org/assets/top.hw.csv
@returns(200)
@errors {401}

@endpoint GET /org/assets/top.tags.csv
@returns(200)
@errors {401}

@endpoint GET /org/services/top.tcp.csv
@returns(200)
@errors {401}

@endpoint GET /org/services/top.udp.csv
@returns(200)
@errors {401}

@endpoint GET /org/services/top.protocols.csv
@returns(200)
@errors {401}

@endpoint GET /org/services/top.products.csv
@returns(200)
@errors {401}

@endpoint GET /org/services/subnet.stats.csv
@optional {mask: str}
@returns(200)
@errors {401}

@endpoint GET /org
@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)}
@errors {401}

@endpoint PATCH /org
@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)}
@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)}
@errors {401}

@endpoint GET /org/key
@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}
@errors {401}

@endpoint DELETE /org/key
@returns(204)
@errors {401}

@endpoint PATCH /org/key/rotate
@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}
@errors {401}

@endpoint GET /org/agents
@returns(200)
@errors {401}

@endpoint GET /org/agents/{agent_id}
@required {agent_id: str(uuid)}
@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)}
@errors {401, 404}

@endpoint DELETE /org/agents/{agent_id}
@required {agent_id: str(uuid)}
@returns(204)
@errors {401, 404}

@endpoint PATCH /org/agents/{agent_id}
@required {agent_id: str(uuid), site_id: str(uuid)}
@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)}
@errors {401, 404}

@endpoint POST /org/agents/{agent_id}/update
@required {agent_id: str(uuid)}
@returns(204)
@errors {401, 404}

@endpoint GET /org/sites
@returns(200)
@errors {401}

@endpoint PUT /org/sites
@required {name: str}
@optional {description: str, scope: str, excludes: str}
@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}
@errors {401, 404}

@endpoint GET /org/sites/{site_id}
@required {site_id: str(uuid)}
@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}
@errors {401, 404}

@endpoint DELETE /org/sites/{site_id}
@required {site_id: str(uuid)}
@returns(204)
@errors {401, 404}

@endpoint PATCH /org/sites/{site_id}
@required {site_id: str(uuid), name: str}
@optional {description: str, scope: str, excludes: str}
@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}
@errors {401, 404}

@endpoint PUT /org/sites/{site_id}/import
@required {site_id: str(uuid)}
@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)}
@errors {401, 403, 404, 500}

@endpoint PUT /org/sites/{site_id}/import/nessus
@required {site_id: str(uuid)}
@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)}
@errors {401, 403, 404, 500}

@endpoint PUT /org/sites/{site_id}/scan
@required {site_id: str(uuid)}
@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)}
@errors {401, 403, 404, 500}

@endpoint GET /org/assets
@optional {search: str}
@returns(200)
@errors {401}

@endpoint GET /org/assets/{asset_id}
@required {asset_id: str(uuid)}
@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}
@errors {401, 404}

@endpoint DELETE /org/assets/{asset_id}
@required {asset_id: str(uuid)}
@returns(204)
@errors {401, 404}

@endpoint PATCH /org/assets/{asset_id}/comments
@required {asset_id: str(uuid), comments: str}
@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}
@errors {401, 404}

@endpoint PATCH /org/assets/{asset_id}/tags
@required {asset_id: str(uuid), tags: str}
@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}
@errors {401, 404}

@endpoint PATCH /org/assets/bulk/tags
@required {tags: str, search: str}
@returns(200)
@errors {401, 404}

@endpoint POST /org/assets/bulk/clearTags
@required {search: str}
@returns(200)
@errors {401, 404}

@endpoint GET /org/services
@optional {search: str}
@returns(200)
@errors {401}

@endpoint GET /org/services/{service_id}
@required {service_id: str(uuid)}
@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}
@errors {401, 404}

@endpoint DELETE /org/services/{service_id}
@required {service_id: str(uuid)}
@returns(204)
@errors {401, 404}

@endpoint GET /org/wireless
@optional {search: str}
@returns(200)
@errors {401}

@endpoint GET /org/wireless/{wireless_id}
@required {wireless_id: str(uuid)}
@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}
@errors {401}

@endpoint DELETE /org/wireless/{wireless_id}
@required {wireless_id: str(uuid)}
@returns(204)
@errors {401, 404}

@endpoint GET /org/tasks
@optional {status: str, search: str}
@returns(200)
@errors {401}

@endpoint GET /org/tasks/{task_id}
@required {task_id: str(uuid)}
@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)}
@errors {401}

@endpoint PATCH /org/tasks/{task_id}
@required {task_id: str(uuid), id: str(uuid)}
@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)}
@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)}
@errors {401, 404}

@endpoint GET /org/tasks/{task_id}/data
@required {task_id: str(uuid)}
@returns(200)
@errors {401, 404}

@endpoint GET /org/tasks/{task_id}/changes
@required {task_id: str(uuid)}
@returns(200)
@errors {401, 404}

@endpoint GET /org/tasks/{task_id}/log
@required {task_id: str(uuid)}
@returns(200)
@errors {401, 404}

@endpoint POST /org/tasks/{task_id}/stop
@required {task_id: str(uuid)}
@returns(200)
@errors {401, 404}

@endpoint POST /org/tasks/{task_id}/hide
@required {task_id: str(uuid)}
@returns(200)
@errors {401, 404}

@endgroup

@group account
@endpoint GET /account/orgs
@optional {search: str}
@returns(200)
@errors {401}

@endpoint PUT /account/orgs
@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)}
@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)}
@errors {401, 404}

@endpoint GET /account/orgs/{org_id}
@required {org_id: str(uuid)}
@returns(200)
@errors {401}

@endpoint PATCH /account/orgs/{org_id}
@required {org_id: str(uuid)}
@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)}
@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)}
@errors {401}

@endpoint DELETE /account/orgs/{org_id}
@required {org_id: str(uuid)}
@returns(204)
@errors {401}

@endpoint DELETE /account/orgs/{org_id}/exportToken
@required {org_id: str(uuid)}
@returns(204)
@errors {401}

@endpoint PATCH /account/orgs/{org_id}/exportToken/rotate
@required {org_id: str(uuid)}
@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)}
@errors {401}

@endpoint GET /account/license
@returns(200)
@errors {401}

@endpoint GET /account/sites
@optional {search: str}
@returns(200)
@errors {401}

@endpoint GET /account/credentials
@optional {search: str}
@returns(200)
@errors {401}

@endpoint PUT /account/credentials
@optional {name: str, type: str(miradore_api_key_v1/aws_access_secret), acl: map, global: bool, cidrs: str, secret: any}
@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)}
@errors {401, 404}

@endpoint GET /account/credentials/{credential_id}
@required {credential_id: str(uuid)}
@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)}
@errors {401, 404}

@endpoint DELETE /account/credentials/{credential_id}
@required {credential_id: str(uuid)}
@returns(204)
@errors {401, 404}

@endpoint GET /account/keys
@returns(200)
@errors {401}

@endpoint PUT /account/keys
@optional {comment: str, organization_id: str(uuid)}
@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}
@errors {401, 404}

@endpoint GET /account/keys/{key_id}
@required {key_id: str(uuid)}
@returns(200)
@errors {401}

@endpoint DELETE /account/keys/{key_id}
@required {key_id: str(uuid)}
@returns(204)
@errors {401}

@endpoint PATCH /account/keys/{key_id}/rotate
@required {key_id: str(uuid)}
@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}
@errors {401}

@endpoint GET /account/events.json
@optional {search: str, fields: str}
@returns(200)
@errors {401}

@endpoint GET /account/events.jsonl
@optional {search: str, fields: str}
@returns(200)
@errors {401}

@endpoint GET /account/tasks
@optional {search: str}
@returns(200)
@errors {401}

@endpoint GET /account/tasks/templates
@optional {search: str}
@returns(200)
@errors {401, 422}

@endpoint POST /account/tasks/templates
@required {name: str, global: bool, acl: map}
@optional {description: str, params: map}
@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}
@errors {400, 401, 422}

@endpoint PUT /account/tasks/templates
@required {id: str(uuid), global: bool, acl: map}
@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)}
@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}
@errors {400, 401, 404, 422}

@endpoint GET /account/tasks/templates/{scan_template_id}
@required {scan_template_id: str(uuid)}
@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}
@errors {401, 404, 422}

@endpoint DELETE /account/tasks/templates/{scan_template_id}
@required {scan_template_id: str(uuid)}
@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}
@errors {401, 404, 422}

@endpoint GET /account/agents
@optional {search: str}
@returns(200)
@errors {401}

@endpoint GET /account/users
@returns(200)
@errors {401}

@endpoint PUT /account/users
@optional {first_name: str, last_name: str, email: str, client_admin: bool, org_default_role: str, org_roles: map}
@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)}
@errors {401, 404}

@endpoint PUT /account/users/invite
@optional {first_name: str, last_name: str, email: str, client_admin: bool, org_default_role: str, org_roles: map, subject: str, message: str}
@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)}
@errors {401, 404}

@endpoint GET /account/users/{user_id}
@required {user_id: str(uuid)}
@returns(200)
@errors {401}

@endpoint DELETE /account/users/{user_id}
@required {user_id: str(uuid)}
@returns(204)
@errors {401}

@endpoint PATCH /account/users/{user_id}
@required {user_id: str(uuid)}
@optional {first_name: str, last_name: str, email: str, client_admin: bool, org_default_role: str, org_roles: map}
@returns(200)
@errors {401}

@endpoint PATCH /account/users/{user_id}/resetMFA
@required {user_id: str(uuid)}
@returns(200)
@errors {401}

@endpoint PATCH /account/users/{user_id}/resetLockout
@required {user_id: str(uuid)}
@returns(200)
@errors {401}

@endpoint PATCH /account/users/{user_id}/resetPassword
@required {user_id: str(uuid)}
@returns(200)
@errors {401}

@endpoint GET /account/groups
@returns(200)
@errors {401}

@endpoint POST /account/groups
@optional {description: str, name: str, expires_at: int(int64), org_default_role: str, org_roles: map}
@returns(200)
@errors {401}

@endpoint PUT /account/groups
@optional {id: str(uuid), description: str, name: str, expires_at: int(int64), org_default_role: str, org_roles: map}
@returns(200)
@errors {401}

@endpoint GET /account/groups/{group_id}
@returns(200)
@errors {401, 404}

@endpoint DELETE /account/groups/{group_id}
@returns(204)
@errors {401}

@endpoint GET /account/sso/groups
@returns(200)
@errors {401}

@endpoint POST /account/sso/groups
@required {id: str(uuid), group_id: str(uuid), sso_attribute: str, sso_value: str}
@optional {group_name: str, description: str, created_by_email: str, created_at: int(int64), updated_at: int(int64)}
@returns(200)
@errors {401}

@endpoint PUT /account/sso/groups
@required {id: str(uuid), group_id: str(uuid), sso_attribute: str, sso_value: str}
@optional {group_name: str, description: str, created_by_email: str, created_at: int(int64), updated_at: int(int64)}
@returns(200)
@errors {401}

@endpoint GET /account/sso/groups/{group_mapping_id}
@returns(200)
@errors {401, 404}

@endpoint DELETE /account/sso/groups/{group_mapping_id}
@returns(204)
@errors {401}

@endgroup

@group export
@endpoint GET /export/org/assets/sync/created/assets.json
@optional {search: str, fields: str, since: int(int64)}
@returns(200) {since: int(int64), assets: [map]}
@errors {401}

@endpoint GET /export/org/assets/sync/updated/assets.json
@optional {search: str, fields: str, since: int(int64)}
@returns(200) {since: int(int64), assets: [map]}
@errors {401}

@endpoint GET /export/org/assets.servicenow.csv
@returns(200)
@errors {401}

@endpoint GET /export/org/assets.servicenow.json
@returns(200)
@errors {401}

@endpoint GET /export/org/services.servicenow.csv
@returns(200)
@errors {401}

@endpoint GET /export/org/assets.cisco.csv
@optional {search: str}
@returns(200)
@errors {401}

@endgroup

@end
