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
| Parameter | Type |
|---|---|
opts | RedTeamClientOptions |
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
| Parameter | Type |
|---|---|
targetType | string |
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
| Parameter | Type | Description |
|---|---|---|
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
| Parameter | Type | Description |
|---|---|---|
targetId | string | The 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
| Parameter | Type | Description |
|---|---|---|
jobId | string | The job UUID. |
opts? | ListingOptions | Optional 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
| Parameter | Type | Description |
|---|---|---|
targetId | string | The target UUID. |
opts? | ListingOptions | Optional 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
| Parameter | Type | Description |
|---|---|---|
body | objectOutputType | The 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
| Parameter | Type | Description |
|---|---|---|
jobId | string | The 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 }] }