# rescheduleTasks

Move MANY tasks to ONE due date in one call ('all my overdue tasks to tomorrow'): taskIds (up to 200, from listMyTasks) OR dueBefore + expectedCount: the key owner's own open tasks due before then, never their ids (up to 500), moved only if exactly expectedCount (listMyTasks' total); dueDate (ISO) and timezone (the user's zone; every task gets it). Each task is saved as updateTask saves it (contact tasks get their UPDATED_TASK timeline entry; deal tasks, which have none, keep no old date); no contactId needed. By ids it does NOT check ownership: a teammate's contact task the key owner can see moves too, so read participants first (a dueBefore selection: only tasks the key owner is on). Every task is checked first, and nothing moves (the refusal names the ids) if any is deleted, an APPOINTMENT (use updateAppointment), on a contact the key owner cannot access, or, for a non-admin key, a contact-less task the key owner is not on. A save failing after that names the ids that did not move: retry only those. Confirm first. Ask Goliath: bulk card.

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "rescheduleTasks", "variables": {...} }`
- Scope: `WRITE`
- Type: mutation
- Idempotency: honors `Idempotency-Key` (24 h)
- Rate-limited: no

## Variables

- `taskIds`: `[ID!]`
- `dueBefore`: `DateTime`
- `expectedCount`: `Int`
- `dueDate`: `DateTime!` (required)
- `timezone`: `Timezone!` (required, one of `IDLW`, `SST`, `HST`, `AKST`, `PST`, `MST`, `AZ`, `CST`, `EST`, `AST`, `BRT`, `FNT`, `AZOT`, `UTC`, `CET`, `EET`, `MSK`, `GST`, `PKT`, `BST`, `ICT`, `JST`, `AEST`, `NCT`, `NZST`). AZ: Arizona: MST all year, no DST.

## Response (data, an example)

```json
{
  "tasksMutation": {
    "rescheduleTasks": [
      {
        "id": "<ID>",
        "title": "…",
        "dueDate": "2026-01-01T00:00:00.000Z"
      }
    ]
  }
}
```

## Example

```bash
curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "operationId": "rescheduleTasks",
    "variables": {
      "dueDate": "2026-01-01T00:00:00.000Z",
      "timezone": "IDLW"
    }
  }'
```
