/api/v1/asset-discovery endpoint returns status 403 Forbidden with the feature_not_available code and the required tier cloud for other plans. If the subscription of a Pro or Enterprise workspace is not active, every endpoint returns status 403 Forbidden with the subscription_required code. If Strix cannot verify the plan, every endpoint returns status 503 Service Unavailable with the entitlement_unverified code. Retry the request after the number of seconds in the Retry-After header.
Plan limits
On Pro, when the free run of the day is used,
POST /api/v1/asset-discovery returns status 429 Too Many Requests with the daily_limit_reached code. The response has next_free_run_at, the UTC time when the next free run opens, and a Retry-After header with the same time in seconds. A run that Strix reuses because a run is already in progress does not use the free run. A run that fails before it starts gives the free run back.
The list response has run_policy, which is daily_allowance on Pro and credits on Enterprise, and next_free_run_at, which is null when a free run is open now.
Start a run
discovery:write
All fields are optional. When you omit seeds, the run starts from every verified domain. Each entry in seeds must be a domain that your organization verified. Strix returns status 422 for an unverified or malformed domain.
Strix runs one discovery per organization at a time. When a run is in progress, the endpoint returns that run with reused set to true.
List runs
discovery:read
The response contains the most recent runs, the run in progress, the verified domains a run can start from, the schedule, and the run policy of the plan (see Plan limits).
Get a run
discovery:read
A completed run has a summary. The summary has at most four short lines. The first line gives the number of hosts. Each other line names one asset that can be a concern and says why. The summary does not describe how the agent found the assets.
List discovered assets
discovery:read
By default the response contains only assets with the new status. Set status to all to include imported and ignored assets. You can also filter by search, source, kind, apex, and run_id.
Import an asset as a domain
discovery:write
When the host is under a domain that your organization verified, Strix marks the new domain as verified. You can start a scan on that domain at once. When the host is not under a verified domain, verify the new domain first. See Scans for domain verification.
Ignore or restore an asset
discovery:write
Set status to new to show the asset again. An imported asset cannot change status.
Schedule recurring runs
A schedule starts a run at a fixed time from every verified domain. Domains that you verify later are part of the next run.discovery:write
cron is a 5-field cron expression (minute, hour, day of month, month, day of week). Strix reads it in timezone, an IANA timezone name. The example runs every Monday at 09:00 in New York, also across daylight saving changes. On Enterprise, a schedule must fire at most once an hour. On Pro, a schedule must fire at most once a day, because each scheduled run uses the free run of its day. When another run already used the free run of that day, Strix skips the scheduled run and the schedule stays on. If your plan changes to Pro after you saved a schedule that fires more often than once a day, Strix stops the schedule at its next fire and records the code schedule_too_frequent. Until you send a new cron, an update that omits cron returns status 422 with the same code. Send null as cron to stop recurring runs. Fields that you omit keep their current value. notify_events and notify_emails replace the full list. notify_emails accepts up to 10 addresses. Send an empty list to stop email notifications.
To read the schedule, send GET to the same path with the discovery:read scope. The response includes next_run_at as a UTC timestamp, last_fired_at, and the status of the last scheduled run.
Notifications
The notification settings apply to scheduled runs and to runs that you start by hand.notify_events selects the outcomes that send a message. A run sends at most one message.
Send an empty
notify_events list to stop all notifications.
- With
notify_slackset totrue, Strix posts to the channel inslack_channel_id. The channel must be in the connected Slack workspace. Setslack_channel_idtonullto post to the default channel of the Slack integration. See Slack integration. - Each address in
notify_emailsgets one email. Fornew_assets, the email lists the new hosts and the run summary.