---
title: "Restore overtime policy"
method: POST
path: "/v2/overtime_policies/{overtime_policy_id}/restore"
tags: ["overtime_policies"]
---

# Restore overtime policy

`POST /v2/overtime_policies/{overtime_policy_id}/restore`

## Request

- Base URL: `https://api.hubstaff.com`
- URL: `https://api.hubstaff.com/v2/overtime_policies/{overtime_policy_id}/restore`
- Auth: OAuth 2
  - Authorization code: `https://account.hubstaff.com/authorizations/new`
  - Token URL: `https://account.hubstaff.com/access_tokens` scopes: `hubstaff:read`, `hubstaff:write`
- TypeScript: <https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/docs/v2/overtime_policies/:overtime_policy_id/restore/post.ts> (a function with typed inputs; its response is checked against the schema)

Restores an archived overtime policy. A policy that was used is restored as a new
copy effective at the start of the organization's next week (the original stays
archived); an unused policy is reopened in place.

Restoring fails if any of its members are already assigned to another active policy
of the same type.

Only organization Owners and Managers may use this endpoint.

## Path parameters

- `overtime_policy_id` integer, required

## Response `200`

An overtime policy

- object
  - `overtime_policy` OvertimePolicy: OvertimePolicy model
    - `id` integer, required: Overtime policy ID
    - `organization_id` integer, required: Organization ID
    - `created_at` string, date-time, required: When the record was created
    - `updated_at` string, date-time, required: When the record was last updated
    - `name` string, required: Policy name
    - `policy_type` string, required: How the threshold is evaluated: weekly or daily
    - `status` string, required: Policy status: active, pending, expiring or archived
    - `threshold` number, float, required: Hours per period before time counts as overtime
    - `pay_rate_multiplier` string, required: Pay rate multiplier after the threshold
    - `bill_rate_multiplier` string, required: Bill rate multiplier after the threshold
    - `since` string, date-time, required: When the policy becomes effective
    - `until` string, date-time, required: When the policy expires (null while open)
    - `auto_add_new_users` boolean, required: Automatically add new members to this policy
    - `notification_enabled` boolean, required: Whether overtime notifications are sent
    - `notification_role_ids` unknown, required
    - `superseded_by_id` integer: ID of the policy that replaced this one
    - `editable` boolean, required: Whether the policy can still be edited
    - `locked` boolean, required: Whether the policy is in use and read-only
    - `user_ids` unknown, required

## Other responses

- `400`: Invalid parameters
- `401`: Unauthorized
- `403`: API access is only for organizations on an active plan
- `404`: Could not find record
- `429`: Rate limit exceeded

## Changes

- **2026-11-06** `c6b90e4e4bdc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/changes/v2/overtime_policies/:overtime_policy_id/restore/post.md)

---

[API](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api.md) - [All operations](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/revisions/c6b90e4e4bdc?raw)
