Skip to main content

Class: RedTeamClient

Defined in: src/red-team/client.ts:90

Client for AIRS Red Teaming API operations. Uses two base URLs: data plane for scans/reports, management plane for targets/custom attacks.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
// Reads PANW_RED_TEAM_* env vars (falls back to PANW_MGMT_*).
const rt = new RedTeamClient();

const scans = await rt.scans.list({ limit: 5 });
// scans =>
// { pagination: { total_items: 12 }, data: [{ uuid: '550e8400-...', status: 'COMPLETED', job_type: 'STATIC' }] }

Constructors​

Constructor​

new RedTeamClient(opts?): RedTeamClient;

Defined in: src/red-team/client.ts:146

Parameters​

ParameterType
optsRedTeamClientOptions

Returns​

RedTeamClient

Properties​

scans​

readonly scans: RedTeamScansClient;

Defined in: src/red-team/client.ts:123

Data plane scan operations.


reports​

readonly reports: RedTeamReportsClient;

Defined in: src/red-team/client.ts:125

Data plane report operations.


customAttackReports​

readonly customAttackReports: RedTeamCustomAttackReportsClient;

Defined in: src/red-team/client.ts:127

Data plane custom attack report operations.


targets​

readonly targets: RedTeamTargetsClient;

Defined in: src/red-team/client.ts:129

Management plane target operations.


customAttacks​

readonly customAttacks: RedTeamCustomAttacksClient;

Defined in: src/red-team/client.ts:131

Management plane custom attack/prompt set operations.


eula​

readonly eula: RedTeamEulaClient;

Defined in: src/red-team/client.ts:133

Management plane EULA operations.


instances​

readonly instances: RedTeamInstancesClient;

Defined in: src/red-team/client.ts:135

Management plane instance/licensing operations.


networkBroker​

readonly networkBroker: RedTeamNetworkBrokerClient;

Defined in: src/red-team/client.ts:137

Network broker channel operations (distinct network broker base URL).


adapters​

readonly adapters: RedTeamAdaptersClient;

Defined in: src/red-team/client.ts:139

Management plane custom target adapter operations.

Methods​

getScanMetadata()​

getScanMetadata(): Promise<Record<string, unknown>>;

Defined in: src/red-team/client.ts:92

Read scan target metadata.

Returns​

Promise<Record<string, unknown>>

Example​

`const metadata = await rt.getScanMetadata();`

getGoalCategories()​

getGoalCategories(targetType): Promise<objectOutputType<{
target_type: ZodString;
categories: ZodArray<ZodObject<{
category: ZodString;
display_name: ZodString;
description: ZodString;
}, "passthrough", ZodTypeAny, objectOutputType<{
category: ZodString;
display_name: ZodString;
description: ZodString;
}, ZodTypeAny, "passthrough">, objectInputType<{
category: ZodString;
display_name: ZodString;
description: ZodString;
}, ZodTypeAny, "passthrough">>, "many">;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:112

Get available goal categories for a target type.

Parameters​

ParameterType
targetTypestring

Returns​

Promise<objectOutputType<{ target_type: ZodString; categories: ZodArray<ZodObject<{ category: ZodString; display_name: ZodString; description: ZodString; }, "passthrough", ZodTypeAny, objectOutputType<{ category: ZodString; display_name: ZodString; description: ZodString; }, ZodTypeAny, "passthrough">, objectInputType<{ category: ZodString; display_name: ZodString; description: ZodString; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">>

Example​

`const categories = await rt.getGoalCategories('APPLICATION');`

getScanStatistics()​

getScanStatistics(params?): Promise<objectOutputType<{
total_scans: ZodNumber;
targets_scanned: ZodNumber;
targets_scanned_by_type: ZodOptional<ZodArray<ZodObject<{
name: ZodString;
count: ZodNumber;
}, "passthrough", ZodTypeAny, objectOutputType<{
name: ZodString;
count: ZodNumber;
}, ZodTypeAny, "passthrough">, objectInputType<{
name: ZodString;
count: ZodNumber;
}, ZodTypeAny, "passthrough">>, "many">>;
scan_status: ZodOptional<ZodArray<ZodObject<{
name: ZodString;
count: ZodNumber;
}, "passthrough", ZodTypeAny, objectOutputType<{
name: ZodString;
count: ZodNumber;
}, ZodTypeAny, "passthrough">, objectInputType<{
name: ZodString;
count: ZodNumber;
}, ZodTypeAny, "passthrough">>, "many">>;
risk_profile: ZodOptional<ZodArray<ZodObject<{
risk_rating: ZodString;
total: ZodNumber;
targets_by_type: ZodOptional<ZodArray<ZodObject<{
name: ...;
count: ...;
}, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>, "many">>;
}, "passthrough", ZodTypeAny, objectOutputType<{
risk_rating: ZodString;
total: ZodNumber;
targets_by_type: ZodOptional<ZodArray<ZodObject<..., ..., ..., ..., ...>, "many">>;
}, ZodTypeAny, "passthrough">, objectInputType<{
risk_rating: ZodString;
total: ZodNumber;
targets_by_type: ZodOptional<ZodArray<ZodObject<..., ..., ..., ..., ...>, "many">>;
}, ZodTypeAny, "passthrough">>, "many">>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:214

Get scan statistics and risk profile (data plane dashboard).

Parameters​

ParameterTypeDescription
params?{ date_range?: string; target_id?: string; }Optional date range and target ID filters.
params.date_range?string-
params.target_id?string-

Returns​

Promise<objectOutputType<{ total_scans: ZodNumber; targets_scanned: ZodNumber; targets_scanned_by_type: ZodOptional<ZodArray<ZodObject<{ name: ZodString; count: ZodNumber; }, "passthrough", ZodTypeAny, objectOutputType<{ name: ZodString; count: ZodNumber; }, ZodTypeAny, "passthrough">, objectInputType<{ name: ZodString; count: ZodNumber; }, ZodTypeAny, "passthrough">>, "many">>; scan_status: ZodOptional<ZodArray<ZodObject<{ name: ZodString; count: ZodNumber; }, "passthrough", ZodTypeAny, objectOutputType<{ name: ZodString; count: ZodNumber; }, ZodTypeAny, "passthrough">, objectInputType<{ name: ZodString; count: ZodNumber; }, ZodTypeAny, "passthrough">>, "many">>; risk_profile: ZodOptional<ZodArray<ZodObject<{ risk_rating: ZodString; total: ZodNumber; targets_by_type: ZodOptional<ZodArray<ZodObject<{ name: ...; count: ...; }, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>, "many">>; }, "passthrough", ZodTypeAny, objectOutputType<{ risk_rating: ZodString; total: ZodNumber; targets_by_type: ZodOptional<ZodArray<ZodObject<..., ..., ..., ..., ...>, "many">>; }, ZodTypeAny, "passthrough">, objectInputType<{ risk_rating: ZodString; total: ZodNumber; targets_by_type: ZodOptional<ZodArray<ZodObject<..., ..., ..., ..., ...>, "many">>; }, ZodTypeAny, "passthrough">>, "many">>; }, ZodTypeAny, "passthrough">>

The scan statistics response.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const stats = await rt.getScanStatistics({ date_range: 'LAST_30_DAYS' });
// stats =>
// { total_scans: 10, targets_scanned: 5 }

getScoreTrend()​

getScoreTrend(targetId, opts?): Promise<objectOutputType<{
labels: ZodArray<ZodString, "many">;
series: ZodArray<ZodObject<{
label: ZodString;
data: ZodArray<ZodNullable<ZodNumber>, "many">;
}, "passthrough", ZodTypeAny, objectOutputType<{
label: ZodString;
data: ZodArray<ZodNullable<ZodNumber>, "many">;
}, ZodTypeAny, "passthrough">, objectInputType<{
label: ZodString;
data: ZodArray<ZodNullable<ZodNumber>, "many">;
}, ZodTypeAny, "passthrough">>, "many">;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:247

Get score trend for a target (data plane dashboard).

Parameters​

ParameterTypeDescription
targetIdstringThe target UUID.
opts{ date_range?: string; start_date?: string; end_date?: string; }-
opts.date_range?string-
opts.start_date?string-
opts.end_date?string-

Returns​

Promise<objectOutputType<{ labels: ZodArray<ZodString, "many">; series: ZodArray<ZodObject<{ label: ZodString; data: ZodArray<ZodNullable<ZodNumber>, "many">; }, "passthrough", ZodTypeAny, objectOutputType<{ label: ZodString; data: ZodArray<ZodNullable<ZodNumber>, "many">; }, ZodTypeAny, "passthrough">, objectInputType<{ label: ZodString; data: ZodArray<ZodNullable<ZodNumber>, "many">; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">>

The score trend response.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const trend = await rt.getScoreTrend('550e8400-e29b-41d4-a716-446655440000');
// trend =>
// { labels: ['2026-04', '2026-05'], series: [{ name: 'risk', data: [42, 38] }] }

getQuota()​

getQuota(): Promise<objectOutputType<{
static: ZodObject<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, "passthrough", ZodTypeAny, objectOutputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">, objectInputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">>;
dynamic: ZodObject<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, "passthrough", ZodTypeAny, objectOutputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">, objectInputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">>;
custom: ZodObject<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, "passthrough", ZodTypeAny, objectOutputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">, objectInputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:282

Query quota using the POST operation in the published OpenAPI contract.

Returns​

Promise<objectOutputType<{ static: ZodObject<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, "passthrough", ZodTypeAny, objectOutputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">, objectInputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">>; dynamic: ZodObject<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, "passthrough", ZodTypeAny, objectOutputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">, objectInputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">>; custom: ZodObject<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, "passthrough", ZodTypeAny, objectOutputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">, objectInputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">>; }, ZodTypeAny, "passthrough">>

The quota summary.

Remarks​

For the observed read-only SCM dashboard route, use getQuotaSummary. Some deployments deny this POST while accepting GET; no automatic method fallback occurs.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const quota = await rt.getQuota();
// quota =>
// { static: { allocated: 100, unlimited: false, consumed: 5 }, dynamic: {...}, custom: {...} }

getQuotaSummary()​

getQuotaSummary(): Promise<objectOutputType<{
static: ZodObject<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, "passthrough", ZodTypeAny, objectOutputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">, objectInputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">>;
dynamic: ZodObject<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, "passthrough", ZodTypeAny, objectOutputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">, objectInputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">>;
custom: ZodObject<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, "passthrough", ZodTypeAny, objectOutputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">, objectInputType<{
allocated: ZodNumber;
unlimited: ZodBoolean;
consumed: ZodNumber;
}, ZodTypeAny, "passthrough">>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:307

Read quota using the SCM dashboard's GET route on the configured data plane.

Returns​

Promise<objectOutputType<{ static: ZodObject<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, "passthrough", ZodTypeAny, objectOutputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">, objectInputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">>; dynamic: ZodObject<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, "passthrough", ZodTypeAny, objectOutputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">, objectInputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">>; custom: ZodObject<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, "passthrough", ZodTypeAny, objectOutputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">, objectInputType<{ allocated: ZodNumber; unlimited: ZodBoolean; consumed: ZodNumber; }, ZodTypeAny, "passthrough">>; }, ZodTypeAny, "passthrough">>

Current static, dynamic and custom quota allocation and consumption.

Remarks​

Verified against the September 2026 dashboard workflow. This additive operation reuses the existing quota schema and OAuth transport without changing getQuota's published POST contract. An unlimited quota with zero allocated is not exhausted.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const client = new RedTeamClient({ numRetries: 0 });
const quota = await client.getQuotaSummary();
console.log(quota.custom.consumed, quota.custom.allocated, quota.custom.unlimited);

getErrorLogs()​

getErrorLogs(jobId, opts?): Promise<objectOutputType<{
pagination: ZodObject<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">>;
data: ZodArray<ZodObject<{
created_at: ZodString;
updated_at: ZodString;
job_id: ZodOptional<ZodNullable<ZodString>>;
target_id: ZodOptional<ZodNullable<ZodString>>;
target_version: ZodOptional<ZodNullable<ZodNumber>>;
attack_id: ZodOptional<ZodNullable<ZodString>>;
error_type: ZodOptional<ZodNullable<ZodString>>;
error_source: ZodOptional<ZodNullable<ZodString>>;
error_message: ZodOptional<ZodNullable<ZodString>>;
target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
version: ZodOptional<ZodNumber>;
}, "passthrough", ZodTypeAny, objectOutputType<{
created_at: ZodString;
updated_at: ZodString;
job_id: ZodOptional<ZodNullable<ZodString>>;
target_id: ZodOptional<ZodNullable<ZodString>>;
target_version: ZodOptional<ZodNullable<ZodNumber>>;
attack_id: ZodOptional<ZodNullable<ZodString>>;
error_type: ZodOptional<ZodNullable<ZodString>>;
error_source: ZodOptional<ZodNullable<ZodString>>;
error_message: ZodOptional<ZodNullable<ZodString>>;
target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
version: ZodOptional<ZodNumber>;
}, ZodTypeAny, "passthrough">, objectInputType<{
created_at: ZodString;
updated_at: ZodString;
job_id: ZodOptional<ZodNullable<ZodString>>;
target_id: ZodOptional<ZodNullable<ZodString>>;
target_version: ZodOptional<ZodNullable<ZodNumber>>;
attack_id: ZodOptional<ZodNullable<ZodString>>;
error_type: ZodOptional<ZodNullable<ZodString>>;
error_source: ZodOptional<ZodNullable<ZodString>>;
error_message: ZodOptional<ZodNullable<ZodString>>;
target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
version: ZodOptional<ZodNumber>;
}, ZodTypeAny, "passthrough">>, "many">;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:333

List error logs for a scan job.

Parameters​

ParameterTypeDescription
jobIdstringThe job UUID.
opts?ListingOptionsOptional pagination and search options.

Returns​

Promise<objectOutputType<{ pagination: ZodObject<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, "passthrough", ZodTypeAny, objectOutputType<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">, objectInputType<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">>; data: ZodArray<ZodObject<{ created_at: ZodString; updated_at: ZodString; job_id: ZodOptional<ZodNullable<ZodString>>; target_id: ZodOptional<ZodNullable<ZodString>>; target_version: ZodOptional<ZodNullable<ZodNumber>>; attack_id: ZodOptional<ZodNullable<ZodString>>; error_type: ZodOptional<ZodNullable<ZodString>>; error_source: ZodOptional<ZodNullable<ZodString>>; error_message: ZodOptional<ZodNullable<ZodString>>; target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; version: ZodOptional<ZodNumber>; }, "passthrough", ZodTypeAny, objectOutputType<{ created_at: ZodString; updated_at: ZodString; job_id: ZodOptional<ZodNullable<ZodString>>; target_id: ZodOptional<ZodNullable<ZodString>>; target_version: ZodOptional<ZodNullable<ZodNumber>>; attack_id: ZodOptional<ZodNullable<ZodString>>; error_type: ZodOptional<ZodNullable<ZodString>>; error_source: ZodOptional<ZodNullable<ZodString>>; error_message: ZodOptional<ZodNullable<ZodString>>; target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; version: ZodOptional<ZodNumber>; }, ZodTypeAny, "passthrough">, objectInputType<{ created_at: ZodString; updated_at: ZodString; job_id: ZodOptional<ZodNullable<ZodString>>; target_id: ZodOptional<ZodNullable<ZodString>>; target_version: ZodOptional<ZodNullable<ZodNumber>>; attack_id: ZodOptional<ZodNullable<ZodString>>; error_type: ZodOptional<ZodNullable<ZodString>>; error_source: ZodOptional<ZodNullable<ZodString>>; error_message: ZodOptional<ZodNullable<ZodString>>; target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; version: ZodOptional<ZodNumber>; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">>

The paginated list of error logs.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const logs = await rt.getErrorLogs('550e8400-e29b-41d4-a716-446655440000', { limit: 10 });
// logs =>
// { pagination: { total_items: 1 }, data: [{ error_type: 'TIMEOUT', error_message: '...', created_at: '2025-01-01T00:00:00Z' }] }

getTargetProfileErrorLogs()​

getTargetProfileErrorLogs(targetId, opts?): Promise<objectOutputType<{
pagination: ZodObject<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">>;
data: ZodArray<ZodObject<{
created_at: ZodString;
updated_at: ZodString;
job_id: ZodOptional<ZodNullable<ZodString>>;
target_id: ZodOptional<ZodNullable<ZodString>>;
target_version: ZodOptional<ZodNullable<ZodNumber>>;
attack_id: ZodOptional<ZodNullable<ZodString>>;
error_type: ZodOptional<ZodNullable<ZodString>>;
error_source: ZodOptional<ZodNullable<ZodString>>;
error_message: ZodOptional<ZodNullable<ZodString>>;
target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
version: ZodOptional<ZodNumber>;
}, "passthrough", ZodTypeAny, objectOutputType<{
created_at: ZodString;
updated_at: ZodString;
job_id: ZodOptional<ZodNullable<ZodString>>;
target_id: ZodOptional<ZodNullable<ZodString>>;
target_version: ZodOptional<ZodNullable<ZodNumber>>;
attack_id: ZodOptional<ZodNullable<ZodString>>;
error_type: ZodOptional<ZodNullable<ZodString>>;
error_source: ZodOptional<ZodNullable<ZodString>>;
error_message: ZodOptional<ZodNullable<ZodString>>;
target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
version: ZodOptional<ZodNumber>;
}, ZodTypeAny, "passthrough">, objectInputType<{
created_at: ZodString;
updated_at: ZodString;
job_id: ZodOptional<ZodNullable<ZodString>>;
target_id: ZodOptional<ZodNullable<ZodString>>;
target_version: ZodOptional<ZodNullable<ZodNumber>>;
attack_id: ZodOptional<ZodNullable<ZodString>>;
error_type: ZodOptional<ZodNullable<ZodString>>;
error_source: ZodOptional<ZodNullable<ZodString>>;
error_message: ZodOptional<ZodNullable<ZodString>>;
target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>;
version: ZodOptional<ZodNumber>;
}, ZodTypeAny, "passthrough">>, "many">;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:361

List profiling error logs for a target (data plane).

Parameters​

ParameterTypeDescription
targetIdstringThe target UUID.
opts?ListingOptionsOptional pagination/search options (the endpoint honors limit).

Returns​

Promise<objectOutputType<{ pagination: ZodObject<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, "passthrough", ZodTypeAny, objectOutputType<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">, objectInputType<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">>; data: ZodArray<ZodObject<{ created_at: ZodString; updated_at: ZodString; job_id: ZodOptional<ZodNullable<ZodString>>; target_id: ZodOptional<ZodNullable<ZodString>>; target_version: ZodOptional<ZodNullable<ZodNumber>>; attack_id: ZodOptional<ZodNullable<ZodString>>; error_type: ZodOptional<ZodNullable<ZodString>>; error_source: ZodOptional<ZodNullable<ZodString>>; error_message: ZodOptional<ZodNullable<ZodString>>; target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; version: ZodOptional<ZodNumber>; }, "passthrough", ZodTypeAny, objectOutputType<{ created_at: ZodString; updated_at: ZodString; job_id: ZodOptional<ZodNullable<ZodString>>; target_id: ZodOptional<ZodNullable<ZodString>>; target_version: ZodOptional<ZodNullable<ZodNumber>>; attack_id: ZodOptional<ZodNullable<ZodString>>; error_type: ZodOptional<ZodNullable<ZodString>>; error_source: ZodOptional<ZodNullable<ZodString>>; error_message: ZodOptional<ZodNullable<ZodString>>; target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; version: ZodOptional<ZodNumber>; }, ZodTypeAny, "passthrough">, objectInputType<{ created_at: ZodString; updated_at: ZodString; job_id: ZodOptional<ZodNullable<ZodString>>; target_id: ZodOptional<ZodNullable<ZodString>>; target_version: ZodOptional<ZodNullable<ZodNumber>>; attack_id: ZodOptional<ZodNullable<ZodString>>; error_type: ZodOptional<ZodNullable<ZodString>>; error_source: ZodOptional<ZodNullable<ZodString>>; error_message: ZodOptional<ZodNullable<ZodString>>; target_object: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; extra_info: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; version: ZodOptional<ZodNumber>; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">>

The paginated list of target-profile error logs.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const logs = await rt.getTargetProfileErrorLogs('550e8400-e29b-41d4-a716-446655440000', { limit: 10 });
// logs =>
// { pagination: { total_items: 1 }, data: [{ target_id: '550e8400-...', error_type: 'PROBE', error_message: '...', created_at: '2025-01-01T00:00:00Z' }] }

getLanguages()​

getLanguages(): Promise<objectOutputType<{
multilingual_enabled: ZodBoolean;
supported_job_types: ZodArray<ZodString, "many">;
languages: ZodArray<ZodObject<{
code: ZodString;
name: ZodString;
}, "passthrough", ZodTypeAny, objectOutputType<{
code: ZodString;
name: ZodString;
}, ZodTypeAny, "passthrough">, objectInputType<{
code: ZodString;
name: ZodString;
}, ZodTypeAny, "passthrough">>, "many">;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:391

Get the tenant's allowed languages for Red Team scans (data plane).

Returns​

Promise<objectOutputType<{ multilingual_enabled: ZodBoolean; supported_job_types: ZodArray<ZodString, "many">; languages: ZodArray<ZodObject<{ code: ZodString; name: ZodString; }, "passthrough", ZodTypeAny, objectOutputType<{ code: ZodString; name: ZodString; }, ZodTypeAny, "passthrough">, objectInputType<{ code: ZodString; name: ZodString; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">>

The supported-languages response.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const langs = await rt.getLanguages();
// langs =>
// { multilingual_enabled: true, supported_job_types: ['STATIC', 'DYNAMIC'],
// languages: [{ code: 'en', name: 'English' }, { code: 'es', name: 'Spanish' }] }

getManagementLanguages()​

getManagementLanguages(): Promise<objectOutputType<{
multilingual_enabled: ZodBoolean;
supported_job_types: ZodArray<ZodString, "many">;
languages: ZodArray<ZodObject<{
code: ZodString;
name: ZodString;
}, "passthrough", ZodTypeAny, objectOutputType<{
code: ZodString;
name: ZodString;
}, ZodTypeAny, "passthrough">, objectInputType<{
code: ZodString;
name: ZodString;
}, ZodTypeAny, "passthrough">>, "many">;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:417

Get the tenant's allowed languages from the management plane. Same response shape as RedTeamClient.getLanguages, served from the management endpoint.

Returns​

Promise<objectOutputType<{ multilingual_enabled: ZodBoolean; supported_job_types: ZodArray<ZodString, "many">; languages: ZodArray<ZodObject<{ code: ZodString; name: ZodString; }, "passthrough", ZodTypeAny, objectOutputType<{ code: ZodString; name: ZodString; }, ZodTypeAny, "passthrough">, objectInputType<{ code: ZodString; name: ZodString; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">>

The supported-languages response.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const langs = await rt.getManagementLanguages();
// langs =>
// { multilingual_enabled: true, supported_job_types: ['STATIC', 'DYNAMIC'],
// languages: [{ code: 'en', name: 'English' }] }

updateSentiment()​

updateSentiment(body): Promise<objectOutputType<{
job_id: ZodString;
up_vote: ZodOptional<ZodBoolean>;
down_vote: ZodOptional<ZodBoolean>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:445

Update sentiment for a scan report.

Parameters​

ParameterTypeDescription
bodyobjectOutputTypeThe sentiment request body.

Returns​

Promise<objectOutputType<{ job_id: ZodString; up_vote: ZodOptional<ZodBoolean>; down_vote: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough">>

The sentiment response.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const result = await rt.updateSentiment({
job_id: '550e8400-e29b-41d4-a716-446655440000',
up_vote: true,
});
// result =>
// { job_id: '550e8400-...', up_vote: true }

getSentiment()​

getSentiment(jobId): Promise<objectOutputType<{
job_id: ZodString;
up_vote: ZodOptional<ZodBoolean>;
down_vote: ZodOptional<ZodBoolean>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:472

Get sentiment for a scan report.

Parameters​

ParameterTypeDescription
jobIdstringThe job UUID.

Returns​

Promise<objectOutputType<{ job_id: ZodString; up_vote: ZodOptional<ZodBoolean>; down_vote: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough">>

The sentiment response.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const sentiment = await rt.getSentiment('550e8400-e29b-41d4-a716-446655440000');
// sentiment =>
// { job_id: '550e8400-...', up_vote: true }

getDashboardOverview()​

getDashboardOverview(): Promise<objectOutputType<{
total_targets: ZodNumber;
targets_by_type: ZodOptional<ZodArray<ZodObject<{
name: ZodString;
count: ZodNumber;
}, "passthrough", ZodTypeAny, objectOutputType<{
name: ZodString;
count: ZodNumber;
}, ZodTypeAny, "passthrough">, objectInputType<{
name: ZodString;
count: ZodNumber;
}, ZodTypeAny, "passthrough">>, "many">>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/client.ts:501

Get management dashboard overview.

Returns​

Promise<objectOutputType<{ total_targets: ZodNumber; targets_by_type: ZodOptional<ZodArray<ZodObject<{ name: ZodString; count: ZodNumber; }, "passthrough", ZodTypeAny, objectOutputType<{ name: ZodString; count: ZodNumber; }, ZodTypeAny, "passthrough">, objectInputType<{ name: ZodString; count: ZodNumber; }, ZodTypeAny, "passthrough">>, "many">>; }, ZodTypeAny, "passthrough">>

The dashboard overview response.

Example​

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const overview = await rt.getDashboardOverview();
// overview =>
// { total_targets: 7, targets_by_type: [{ type: 'API', count: 4 }] }