ForHosting KIT · Developer Utilities

Build a password rotation reminder schedule

A password rotation policy is useful only when its dates are clear enough to act on.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

This calculator takes the date a password was last changed, adds the required rotation interval, and then works backward from that due date to place an advance reminder. It returns exact ISO calendar dates that can be copied into a ticket, calendar, asset register, runbook, or automated workflow. Leap years and different month lengths are handled consistently, so teams do not need to approximate a ninety-day rule as three months or maintain spreadsheet formulas for every account.

Turn a rotation policy into two actionable dates

Start with the password's actual last-changed date, not the date when somebody recorded it or last reviewed the account. Enter that value in YYYY-MM-DD format and provide the policy interval as a positive whole number of calendar days. The calculator adds exactly that many days to produce the next due date. It then subtracts the reminder lead time from the due date to produce the date when preparation should begin. For example, a team using a ninety-day interval and a fourteen-day warning gets both the hard rotation deadline and an earlier operational trigger. That distinction matters because a deadline alone does not reserve maintenance time, identify an owner, or allow a replacement secret to be tested. The returned values preserve the supplied interval and reminder lead alongside both dates, making the result easy to review without reconstructing the original inputs. Use zero reminder days when the alert should occur on the deadline itself; otherwise choose enough lead time for the account's approval and deployment process.

Understand calendar-day arithmetic and validation

The schedule uses calendar days rather than business days or month-based arithmetic. A rotation interval of thirty days always advances thirty midnight boundaries, even when the range crosses February, a leap day, the end of a thirty-one-day month, a weekend, or a public holiday. This makes the result faithful to policies written as a fixed number of days and avoids the ambiguity of treating ninety days as three calendar months. The last-changed value must be a real Gregorian date in strict YYYY-MM-DD form, including leading zeroes. Impossible values such as February 30 are rejected instead of silently normalized. The rotation interval must be a positive integer, because zero or negative intervals cannot represent a future password-rotation period. The reminder lead must be a non-negative integer. It may be longer than the rotation interval, but only when the resulting reminder remains within the supported calendar range; such a setup intentionally places the reminder before the password was changed and should therefore be reviewed for policy sense. No current clock is consulted, so the same input always produces the same output.

Use the result in a repeatable security workflow

Treat the calculated dates as scheduling inputs rather than proof that a credential was changed. Store the due date and reminder date with the account identifier, system owner, rotation method, and evidence requirements in your existing control register. On the reminder date, open or update a work item, confirm that the responsible person still has access, prepare the replacement, and identify every service that consumes the credential. On the due date, verify the completed change and record a new last-changed date before calculating the following cycle. For automation, call the API whenever a successful rotation event is recorded and write the returned dates into your ticketing or calendar system. Each request costs $0.002. The function performs no network calls and does not receive or inspect the password itself; it needs only scheduling metadata. That keeps secret material outside the calculation and makes the output suitable for audit trails. If a policy is expressed in months, business days, or exceptions tied to risk, convert or evaluate that policy separately rather than pretending it is a fixed-day interval.

Schedule service-account rotations

Create a due date and an earlier preparation date after each confirmed service-account password change.

Maintain an access-control register

Add consistent ISO reminder and deadline fields to an inventory of managed credentials without storing any password.

Trigger rotation work tickets

Calculate the dates an automated workflow should use to open a ticket and enforce its completion deadline.

What does one calculation cost?

Each API request costs $0.002; the browser tool can also calculate the schedule locally.

Does the calculator need the password itself?

No. It uses only the last-changed date, the rotation interval, and the reminder lead time.

How is the next due date calculated?

The positive rotation interval is added as exact calendar days to the last-changed date.

Are leap years and month boundaries supported?

Yes. The calculation validates Gregorian dates and accounts for leap days and each month's actual length.

Can the reminder occur on the due date?

Yes. Set reminder_days_before to zero to return the same date for the reminder and deadline.

Does it skip weekends or holidays?

No. The interval and reminder lead are calendar-day values, so weekends and holidays count normally.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/final3/password-change-reminder-schedule

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/final3/password-change-reminder-schedule \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"last_changed_date":"2026-01-15","rotation_interval_days":90}'
{
  "last_changed_date": "2026-01-15",
  "rotation_interval_days": 90
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "final3.password_change_reminder_schedule",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →