---
title: "Call the updateAccountLimits MCP tool"
method: POST
path: "/api/v1/actions/updateAccountLimits"
tags: ["Actions"]
---

# Call the updateAccountLimits MCP tool

`POST /api/v1/actions/updateAccountLimits`

## Request

- Base URL: `https://app.reachium.io`
- URL: `https://app.reachium.io/api/v1/actions/updateAccountLimits`
- Auth: HTTP bearer

Update a LinkedIn account’s daily limits and/or its working-hours send window - two independent things, do not confuse them. daily_limits_schedule is per-weekday invite COUNTS (how many invites go out each weekday). working_hours_timezone / working_hours_schedule / working_hours_enabled control the send WINDOW (what clock hours sends are allowed to happen in at all) - a completely different axis, stored separately. Editable: connection_request_limit (0-25), reply_agent_daily_cap (0-100), daily_limits_schedule (per-weekday invite caps; see its field description for the required shape), working_hours_timezone (IANA string), working_hours_schedule (per-weekday send window; see its field description), working_hours_enabled (turn the window on/off without discarding it). message_limit and profile_lookup_limit are fixed platform defaults and cannot be changed. Partial update: send only the fields you are changing; every omitted field is preserved, including across the limits/working-hours split (sending only working-hours fields never touches limits, and vice versa).

Called through the Actions bridge: the response is that tool's own result, wrapped as `{ data: <tool result> }` under HTTP 200. Billing, daily-cap, and confirm-step outcomes are embedded INSIDE `data`, never remapped to an HTTP status (see the templated `/api/v1/actions/{toolName}` operation above for the full protocol, and `x-mcp-actions` for this tool's machine-readable scope/cap/confirm_behavior fields). Authentication, request-shape, and optional idempotency-protocol failures still use their documented non-200 statuses.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `account_id` string, uuid, required: The LinkedIn account (from getLinkedInAccounts).
  - `connection_request_limit` integer: Daily connection-request cap, 0-25.
  - `reply_agent_daily_cap` integer: Optional daily cap for the auto reply-agent, 0-100.
  - `daily_limits_schedule` object, nullable: Per-weekday invite COUNTS. ALL 7 keys "0"-"6" required, each 0-100, weekly total <= 200. null clears it. NOT the send-hours window - see working_hours_schedule for that.
  - `working_hours_timezone` string: IANA timezone for the working-hours window (e.g. "America/New_York"). Independent of daily_limits_schedule.
  - `working_hours_schedule` object, nullable: Per-weekday send-hours WINDOW (not invite counts - see daily_limits_schedule for those). ALL 7 keys "0" (Sunday) through "6" (Saturday) required - this is a full replace of the week, and a missing day is treated as CLOSED, so a partial object would silently stop sends on the days you leave out. Call getAccountLimits first to read the current window, then send back all 7 days (change only the ones you mean to change). Value per day is { start, end } as 4-digit UTC clock time (HHMM, 0-2359) or null for "closed that day". A window may wrap UTC midnight, e.g. start: 1600, end: 400 for an overnight schedule - that is valid, not an error. null the WHOLE field (not a per-day value) to remove all window restrictions (account sends any hour, matching working_hours_enabled: false).
  - `working_hours_enabled` boolean: Turn the working-hours window on/off without discarding working_hours_schedule.

## Response `200`

The result of calling this tool.

- object
  - `data` unknown, required
  - `error` unknown, required

## Other responses

- `400`: The request body was not a JSON object (code invalid_request), or Idempotency-Key is malformed (code invalid_idempotency_key).
- `401`: Missing or invalid API key. Send `Authorization: Bearer rmcp_...` (code unauthorized).
- `403`: This tool is out of the key’s granted scope (code insufficient_scope).
- `409`: This Idempotency-Key has an unresolved in-flight or ambiguous result (code request_in_flight). Reconcile before using a new key.
- `422`: This Idempotency-Key was already used with a different request body (code idempotency_key_reuse).
- `429`: Rate limited: shared `mcp:ip:{ip}` (600/60s) or `mcp:key:{keyId}` (120/60s) bucket, the SAME buckets the MCP endpoint uses (code rate_limited).
- `500`: Unhandled server error (code internal_error).

---

[API](https://skmtc.dev/reachium/apis/reachium-api.md) · [All operations](https://skmtc.dev/reachium/apis/reachium-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reachium/apis/reachium-api/revisions/11682826692b?raw)
