---
title: "Reschedule a payment-link email"
method: PATCH
path: "/v1/scheduled-emails/{scheduledEmailId}"
tags: ["Scheduler"]
---

# Reschedule a payment-link email

`PATCH /v1/scheduled-emails/{scheduledEmailId}`

## Request

- Base URL: `https://api.getfinero.com/functions/v1/api`
- URL: `https://api.getfinero.com/functions/v1/api/v1/scheduled-emails/{scheduledEmailId}`
- Auth: HTTP bearer

Changes the tenant-local send time of an email whose status is `scheduled` or `failed`. A `processing` email cannot be edited while its provider outcome may be in flight.

Requires an **admin** API key (has side effects).

## Path parameters

- `scheduledEmailId` string, uuid, required

## Request body

- object
  - `scheduled_local` string, required: New tenant-local YYYY-MM-DDTHH:mm send time.

## Response `200`

Success

- object
  - `id` string, uuid, required: Scheduled email id.
  - `payment_link_id` string, uuid, required: Payment link this email will deliver.
  - `scheduled_for` string, date-time, required: Resolved send instant (ISO 8601 UTC).
  - `timezone` string, required: Tenant timezone snapshot used for scheduling.
  - `status` 'scheduled' | 'processing' | 'failed', required: Current scheduler state. Successful deliveries leave this active queue.
  - `attempt_count` integer, required: Dispatch attempts so far.
  - `next_attempt_at` string, date-time, nullable, required: Next bounded retry instant (ISO 8601 UTC).
  - `last_error_code` string, nullable, required: Categorical failure code; never a provider response or recipient detail.
  - `created_at` string, date-time, required: Creation time (ISO 8601 UTC).
  - `updated_at` string, date-time, required: Last update time (ISO 8601 UTC).

## Other responses

- `400`: `validation_failed` — The request failed schema validation. See error.details for field messages.
- `401`: `invalid_credentials` — The credential is malformed or does not match an active key. The response never reveals whether a key identifier exists. `missing_credentials` — No Authorization: Bearer header was sent. `revoked_credentials` — The presented key was revoked. Create a new key in Settings → API.
- `403`: `feature_unavailable` — The tenant's tier does not currently include API access. Feature rollout flags cannot grant this entitlement. `permission_denied` — The key's permission does not allow this operation (readonly keys cannot call admin-only operations).
- `404`: `not_found` — No such resource in YOUR tenant. Ids belonging to another tenant are indistinguishable from missing ones.
- `409`: `conflict` — A transient state conflict: an identical request is still in flight, a scheduled email is being sent, or a sync is already running. Retry after a short wait (honour Retry-After when present).
- `413`: `payload_too_large` — The request body exceeds the 64 KiB limit.
- `429`: `rate_limit_exceeded` — Too many requests. Honor the Retry-After header (seconds) before retrying — waiting that long is enough. The RateLimit-* fields on every response say how much headroom is left before this happens; pace against them instead of retrying into a refusal.
- `500`: `internal_error` — Unexpected server error. Safe to retry with the same Idempotency-Key.

## Changes

- **2026-10-20** `d17186951474`: 16 warning
  - added the new `link_already_covered` enum value to the `error/code` response property for the response status `400`
  - added the new `link_already_covered` enum value to the `error/code` response property for the response status `401`
  - added the new `link_already_covered` enum value to the `error/code` response property for the response status `403`
  - added the new `link_already_covered` enum value to the `error/code` response property for the response status `404`
  - …12 more

[Operation history](https://skmtc.dev/getfinero/apis/finero-public-api/changes/v1/scheduled-emails/:scheduledEmailId/patch.md)

---

[API](https://skmtc.dev/getfinero/apis/finero-public-api.md) · [All operations](https://skmtc.dev/getfinero/apis/finero-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getfinero/apis/finero-public-api/revisions/d17186951474?raw)
