
Aikido Scan
CertifiedScan an Aikido domain
Aikido Scan
Scan an Aikido domain
Triggers a DAST scan on a connected domain. The API call itself is fire-and-forget (no scan id); set waitForCompletion to poll the domain's last_scanned_at timestamp (read via List, since Aikido has no single-domain detail endpoint) until the scan finishes.
type: io.kestra.plugin.aikido.domains.ScanExamples
Trigger a DAST scan on a domain
id: aikido_scan_domain
namespace: company.security
inputs:
- id: domain_id
type: STRING
tasks:
- id: scan
type: io.kestra.plugin.aikido.domains.Scan
clientId: "{{ secret('AIKIDO_CLIENT_ID') }}"
clientSecret: "{{ secret('AIKIDO_CLIENT_SECRET') }}"
domainId: "{{ inputs.domain_id }}"
waitForCompletion: true
Properties
clientId *Requiredstring
OAuth2 client ID
Client ID of an Aikido API client with the OAuth2 scopes required by the tasks and triggers being used (for example issues: read, repositories: write). Client credentials are created in the Aikido console under Settings > API access.
clientSecret *Requiredstring
OAuth2 client secret
Client secret of the Aikido API client. Exchanged for a short-lived JWT Bearer token on first use (and transparently refreshed before it expires); never logged or included in error messages.
domainId *Requiredstring
Domain ID
baseUrl string
https://app.aikido.devAikido API base URL
Base URL of the Aikido Security application for your account's region: https://app.aikido.dev (Europe, default), https://app.us.aikido.dev (United States), https://app.au.aikido.dev (Australia), or https://app.me.aikido.dev (Middle East). The OAuth2 token endpoint is derived from this same host, so a region override applies to both authentication and API calls.
maxDuration string
PT1HMaximum wait duration
Maximum time to wait for the scan to complete before failing. Only used when waitForCompletion is true. Defaults to PT1H.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
pollInterval string
PT10SPoll interval
How often to re-check last_scanned_at while waiting for completion. Only used when waitForCompletion is true. Defaults to PT10S.
waitForCompletion booleanstring
falseWait for scan completion
When true, polls the resource's last_scanned_at timestamp after triggering the scan until it advances past its pre-scan value, then returns. Caveat: Aikido's scan-trigger endpoints are fire-and-forget with no scan id and no status endpoint, so this observes "a scan finished" on the resource, not necessarily "the scan this task started finished" — a concurrent scan on the same resource can also satisfy it. The wait blocks a worker thread for its whole duration (up to maxDuration), so budget worker slots accordingly when running many scans concurrently with this enabled. Defaults to false, so the task returns immediately after triggering.
Outputs
completed boolean
Whether the task waited for and observed scan completion
Always false when waitForCompletion is false.
triggered boolean
Whether the scan was successfully triggered