Aikido Export

Aikido Export

Certified

Export Aikido issues

Exports issues matching the given filters. With format=JSON (the default), pages through every matching issue and honors fetchType (FETCH, FETCH_ONE, STORE, or NONE). With format=CSV, Aikido returns a single non-paginated response, so the raw CSV is always stored to internal storage regardless of fetchType — use format=JSON with fetchType=FETCH for a fully paginated, typed export.

yaml
type: io.kestra.plugin.aikido.issues.Export

Export all open issues and store for compliance reporting

yaml
id: aikido_weekly_issue_export
namespace: company.security

tasks:
  - id: export
    type: io.kestra.plugin.aikido.issues.Export
    clientId: "{{ secret('AIKIDO_CLIENT_ID') }}"
    clientSecret: "{{ secret('AIKIDO_CLIENT_SECRET') }}"
    fetchType: STORE
    format: JSON

  - id: log_summary
    type: io.kestra.plugin.core.log.Log
    message: "Exported {{ outputs.export.size }} security issues — stored at {{ outputs.export.uri }}"
Properties

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.

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.

Defaulthttps://app.aikido.dev

Aikido 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.

DefaultSTORE
Possible Values
STOREFETCHFETCH_ONENONE

Fetch type

FETCH_ONE outputs the first matching issue, FETCH outputs every matching issue, STORE streams every matching issue to internal storage and returns a URI. Ignored when format=CSV (always behaves like STORE). Defaults to STORE.

Filter by code repository ID

Filter by container repository ID

Filter by domain ID

Filter by issue type

SubTypestring
Possible Values
CRITICALHIGHMEDIUMLOW

Only include issues at these severities

Filter by issue status

Filter by team ID

DefaultJSON
Possible Values
JSONCSV

Export format

JSON supports full pagination and fetchType; CSV returns a single non-paginated file. Defaults to JSON.

Reference (ref) of the pluginDefaults to apply to this task.

First exported issue

Populated only when format=JSON and fetchType=FETCH_ONE.

Definitions
affected_filestring

The affected file, for SAST/IaC/secrets issues

affected_packagestring

The affected package, for open-source/license issues

attack_surfacestring

Where this issue was found

For example code_repository, container, or cloud.

code_repo_idinteger

ID of the code repository this issue was found in, if applicable

code_repo_namestring

Name of the code repository this issue was found in, if applicable

container_repo_idinteger

ID of the container this issue was found in, if applicable

container_repo_namestring

Name of the container this issue was found in, if applicable

cve_idstring

The related CVE ID, if applicable

domain_idinteger

ID of the domain this issue was found on, if applicable

domain_namestring

Name of the domain this issue was found on, if applicable

first_detected_atinteger

Unix timestamp (seconds) when this issue was first detected

group_idinteger

The ID of the issue group this issue belongs to

idinteger

The issue's ID in Aikido

rulestring

The rule that flagged this issue, if applicable

severitystring

Human-friendly severity

One of critical, high, medium, or low.

severity_scoreinteger

Numeric severity, from 1 (lowest) to 100 (highest)

snooze_untilinteger

Unix timestamp (seconds) this issue is snoozed until, if snoozed

statusstring

The current status of this issue

typestring

The type of this issue

Exported issues

Populated only when format=JSON and fetchType=FETCH.

Definitions
affected_filestring

The affected file, for SAST/IaC/secrets issues

affected_packagestring

The affected package, for open-source/license issues

attack_surfacestring

Where this issue was found

For example code_repository, container, or cloud.

code_repo_idinteger

ID of the code repository this issue was found in, if applicable

code_repo_namestring

Name of the code repository this issue was found in, if applicable

container_repo_idinteger

ID of the container this issue was found in, if applicable

container_repo_namestring

Name of the container this issue was found in, if applicable

cve_idstring

The related CVE ID, if applicable

domain_idinteger

ID of the domain this issue was found on, if applicable

domain_namestring

Name of the domain this issue was found on, if applicable

first_detected_atinteger

Unix timestamp (seconds) when this issue was first detected

group_idinteger

The ID of the issue group this issue belongs to

idinteger

The issue's ID in Aikido

rulestring

The rule that flagged this issue, if applicable

severitystring

Human-friendly severity

One of critical, high, medium, or low.

severity_scoreinteger

Numeric severity, from 1 (lowest) to 100 (highest)

snooze_untilinteger

Unix timestamp (seconds) this issue is snoozed until, if snoozed

statusstring

The current status of this issue

typestring

The type of this issue

Number of issues exported

Formaturi

Stored data URI

Populated when fetchType=STORE, or always when format=CSV.