Profiles

Update a profile

Update a profile of a given scanner kind

put/profiles/{profileId}

Request

  • Base URL
    https://public.escape.tech/v3
  • Auth
    API key in header X-ESCAPE-API-KEY

Path parameters

profileIdstring required

The profile ID

Example:00000000-0000-0000-0000-000000000000

Request body

namestring

The name of the profile

descriptionstring

The description of the profile

cronstring

Deprecated: use schedule.cron instead. Not supported by AI pentest profiles, whose recurring runs are delivered by continuous pentest.

useAllAvailableExtraAssetsboolean

Whether to use all available extra assets for the profile (DAST profiles only; AI pentest profiles list their targets in extraAssetIds)

maxDurationMinutesinteger nullable

Maximum scan duration in minutes. DAST profiles allow 60-600; AI pentest profiles allow 360-1440.

proxyIdstring uuid nullable

The proxy ID (private location) for the profile. Omit and set defaultProxyType to PRIVATE to auto-select any healthy private location at scan time.

defaultProxyType'ESCAPE' | 'PRIVATE'

When proxyId is omitted or null, restricts location selection to this type at scan time. Use PRIVATE so each scan automatically runs on any currently-healthy private location (failover), or ESCAPE for Escape-managed locations.

mode'STANDARD' | 'STRICT'

Pentest aggressiveness (AI pentest profiles only)

offLimitsAreasstring nullable

Off-limits areas (AI pentest profiles only). Null clears the value.

artefactIdsstring[] nullable

Uploaded file IDs for the pentest (AI pentest profiles only)

sourceIdsstring[] nullable

Uploaded source file IDs for the pentest (AI pentest profiles only)

rateLimitReqPerSecinteger

The rate limit of the pentest in requests per second (AI pentest profiles only)

Example request

{
  "name": "profile1",
  "description": "Weekly scan of the production API for compliance",
  "cron": "0 0 * * *",
  "maxDurationMinutes": 240,
  "proxyId": "00000000-0000-0000-0000-000000000000",
  "defaultProxyType": "PRIVATE",
  "mode": "STANDARD",
  "location": {
    "id": "00000000-0000-0000-0000-000000000000"
  }
}

Response

OK

idstring uuid required

The id of the profile

namestring required

The name of the profile

descriptionstring required

The description of the profile

scannerKindstring required

The scanner kind of the profile

createdAtstring required

The date and time the profile was created

updatedAtstring required

The date and time the profile was updated

cronstring nullable required

Deprecated: use schedule.cron instead.

scheduledForDeletionAtstring nullable required

The date and time the profile is scheduled for deletion

scorenumber nullable required

The score of the profile

coveragenumber nullable required

The coverage of the profile

maxDurationMinutesinteger nullable required

Maximum scan duration in minutes.

schemaAssetIdstring uuid nullable required

Schema asset id derived from the first extraAssets entry with class SCHEMA, a request hint when the link is not yet visible in extraAssets (e.g. immediately after a mutation), or the legacy assetSchemaId while migration/backfill is incomplete.

lastScanIdstring uuid nullable required

The ID of the last scan of the profile

lastSuccessfulScanIdstring uuid nullable required

The ID of the last successful scan of the profile

risksstring[] required

The risks of the profile

Example response

{
  "maxDurationMinutes": 240
}

Changes

No recorded changes to this operation across all 1 revision of this API.