---
title: "Apply many agent operations"
method: POST
path: "/v1/agents/batch"
tags: ["Agents"]
---

# Apply many agent operations

`POST /v1/agents/batch`

## Headers

- `Notion-Version` '2026-03-11', required

## Request body

- object
  - `operations` union[], required — The operations to apply, at least one and at most 100. Operations are applied in the order given, and the batch is not atomic: each operation succeeds or fails on its own, and per-operation outcomes are reported in the async task's result.
    - union — One action to apply to one agent. Each operation is authorized and applied on its own.
      - object
        - `action` 'update_status', required — Enable or disable one agent, equivalent to `PATCH /v1/agents/:agent_id/status`.
        - `agent_id` union, required — The agent ID (a UUID), or `notion_ai` for the personal agent. Endpoint-specific restrictions still apply.
          - string
          - 'notion_ai' | '33333333-3333-3333-3333-333333333333' — One of: `notion_ai`, `33333333-3333-3333-3333-333333333333`
        - `fields` object, required — The status to apply to this agent.
          - `status` 'active' | 'disabled', required — "active" to re-enable an agent disabled through this API, or "disabled" to turn it off.
      - object
        - `action` 'update_credit_limit', required — Set or clear one agent's credit limit, equivalent to `PATCH /v1/agents/:agent_id/credit_limit`. Requires full access to the agent.
        - `agent_id` union, required — The agent ID (a UUID), or `notion_ai` for the personal agent. Endpoint-specific restrictions still apply.
          - string
          - 'notion_ai' | '33333333-3333-3333-3333-333333333333' — One of: `notion_ai`, `33333333-3333-3333-3333-333333333333`
        - `fields` object, required — The credit limit to apply to this agent.
          - `credit_limit` number, nullable, required — The per-agent credit limit as a non-negative integer, or null to clear the limit.
      - object
        - `action` 'delete', required — Soft-delete one agent, equivalent to `DELETE /v1/agents/:agent_id`.
        - `agent_id` union, required — The agent ID (a UUID), or `notion_ai` for the personal agent. Endpoint-specific restrictions still apply.
          - string
          - 'notion_ai' | '33333333-3333-3333-3333-333333333333' — One of: `notion_ai`, `33333333-3333-3333-3333-333333333333`

## Response `200`

- object
  - `object` 'async_task', required
  - `id` string, required
  - `status_url` string, required
  - `created_time` string, date-time, required
  - `operation` object, required
    - `surface` 'rest' | 'mcp', required
    - `name` string, required
  - `status` 'queued' | 'running' | 'retrying', required
  - `poll_after_seconds` integer, required

## Other responses

- `400`
- `401`
- `403`
- `404`
- `406`
- `409`
- `429`
- `500`
- `503`
- `504`
- `529`

---

[API](https://skmtc.net/notion/apis/notion-api.md) · [All operations](https://skmtc.net/notion/apis/notion-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/notion/notion-api/revisions/dee5763763b0/schema)
