---
title: "Bulk update profiles"
method: POST
path: "/profiles/bulk-update"
tags: ["Profiles"]
---

# Bulk update profiles

`POST /profiles/bulk-update`

## Request

- Base URL: `https://public.escape.tech/v3`
- URL: `https://public.escape.tech/v3/profiles/bulk-update`
- Auth: API key in header `X-ESCAPE-API-KEY`

Update the schedule, tags, or projects of multiple profiles at once. At least one of tagIds, projectIds or schedule is required. A recurring schedule is rejected when the batch contains an AI pentest profile.

## Request body

- object
  - `profileIds` string[], required: The profile IDs to update
  - `tagIds` string[]: Tag IDs to assign
  - `projectIds` string[]: Project IDs to assign
  - `schedule` object: Schedule to apply. A recurring schedule cannot target AI pentest profiles, whose recurrence is delivered by continuous pentest.
    - `cron` string: Recurring cron expression
    - `startAt` string, date-time: When the schedule becomes active (ISO 8601)
    - `delete` boolean: When true, removes the profile schedule

## Response `200`

OK

- object
  - `success` boolean, required

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/escape/apis/escape-public-api.md) - [All operations](https://skmtc.dev/escape/apis/escape-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/escape/apis/escape-public-api/revisions/2eab35df40c7?raw)
