Skip to main content
POST
Error

Authorizations

Authorization
string
header
required

API token obtained from the Tokens endpoint or CLI device login. Include as Authorization: Bearer <token>. Requests made with a managed CLI session also include X-Strix-Workspace: <organization_id> to pin a process to the workspace it started in; recovery endpoints report the current workspace after a concurrent switch.

Headers

Idempotency-Key
string

Opaque caller-generated key for at-most-once billable scan creation; use a high-entropy value such as a UUID. Reuse the exact same key only when retrying the exact same request. Completed keys are retained for at least 24 hours; an unfinished accepted worker receipt may be held longer until its downstream queue horizon is safely reconciled. A completed failure is terminal for that key. Keyed terminal responses echo Idempotency-Key and set Idempotency-Replayed to true only when returning a stored outcome.

Required string length: 1 - 200
Pattern: ^[A-Za-z0-9][A-Za-z0-9._:/=-]{0,199}$

Body

application/json

Recurring scan definition. Accepts every CreateScanRequest field plus the schedule fields.

cron_expression
string
required

Cron expression, e.g. 0 9 * * 1.

timezone
string
required

IANA timezone, e.g. America/New_York.

title
string

Custom scan title. When you set a title, the server does not generate one. The server trims the value.

Maximum string length: 120
engagement_type
enum<string>

Which engagement type this run is. When omitted, source-only scopes infer code_review, domain scopes infer live_test, and internal targets infer internal_infra.

Available options:
code_review,
live_test,
internal_infra,
compliance_pentest
domain_ids
string<uuid>[]

UUIDs of verified domains to test. Use listDomains to find them.

domain_paths
object

Map of domain ID to specific paths to scan.

repository_ids
string<uuid>[]

UUIDs of connected repositories to test. Use listRepositories to find them.

repository_branches
object

Map of repository ID to branch name.

credentials
object[]

Test accounts the agent logs in with during the scan. Stored encrypted and never returned. Prefer saved test users where available.

headers
object[]

Custom HTTP headers the agent sends on every request, for example an API key header. Stored encrypted and never returned.

concerns
string

Free-text security concerns to prioritize, for example IDOR on the invoices API.

focus
string

Free-text areas of the target to test first, for example the checkout flow.

context
string

Free-text background about the target that helps the agent, for example architecture notes or recent changes.

upload_ids
string[]

Completed upload IDs to attach. A repository upload can be the sole target of a code review or provide white-box context for a domain pentest.

connector_id
string

ID of a network connector that gives the agent access to a private network. Use listConnectors to find it.

internal_targets
string[]

Hosts or URLs inside a private network to test through the connector, for example http://10.0.0.5:8080.

org_knowledge_enabled
boolean

When true, the agent uses the organization knowledge base during the scan.

notify_on_completion
boolean

Email the scan creator when the pentest finishes.

notification_emails
string<email>[]

Extra addresses to CC on the completion email. Validated only when notify_on_completion is true.

scan_tier
enum<string>

Scan tier that sets how deep the pentest goes and which model quality it uses. The tier changes the credit price (lite ×0.3, standard ×0.75, ultra ×1). Defaults to ultra. Not applicable on self-hosted deployments, for organizations with raw model selection, and for organizations on the Enterprise plan.

Available options:
lite,
standard,
ultra
model_config_id
string<uuid>

Self-hosted only: run the scan with a named model config from Settings → LLM Models instead of the default assignment.

max_budget_usd
number

Self-hosted only: stop the pentest gracefully once total LLM spend reaches this amount (USD). Omit for no limit.

Required range: x <= 1000000
name
string
also_run_now
boolean

If true, immediately launch a scan in addition to creating the schedule.

supply_chain
boolean

If true, each fire runs a free supply-chain (dependency) scan of each repository in repository_ids. Supply-chain schedules accept repository targets only.

Response

Schedule created.

schedule_id
string
required
name
string
required
scan_id
string | null

Set when also_run_now was true and scan launched successfully.

scan_error
string | null