Skip to content

Restore Usage Limit Plan

Restores one archived Usage Limit Plan in a project. Restored Plans return to the default Plan list and can be selected for new subject-route bindings again.

POST /v1/projects/:project_id/usage-limit-plans/:id/restore

Requires an API key with usage_control:write.

The request body is empty.

Path field Required Description
project_id Yes Project that owns the Usage Limit Plan.
id Yes Usage Limit Plan ID.
{
"id": "ulp_01J...",
"tenant_id": "t_001",
"project_id": "proj_gateway",
"name": "pro-monthly",
"title": "Pro monthly allowance",
"description": "Default monthly control for Pro routes",
"status": "published",
"current_revision": 2,
"created_at": 1784890000,
"updated_at": 1784898000
}
Field Description
id Usage Limit Plan ID.
tenant_id Tenant that owns the Plan.
project_id Project that owns the Plan.
name Stable Plan name, unique within the project.
title Display title.
description Optional Plan description.
status published when current_revision is greater than 0; otherwise draft.
current_revision Last published revision number, or 0 if the Plan was never published.
created_at, updated_at Unix timestamps in seconds.

Restoring is a management lifecycle change, not a realtime limit reset. It does not mutate Plan versions, active subject routes, realtime limit accumulators, historical usage, wallet balances, or ledger records.

A restored Plan appears in the default GET /v1/projects/:project_id/usage-limit-plans response. If the Plan has a published revision, it also appears in GET /v1/projects/:project_id/usage-limit-plans?published=true.

Restored Plans no longer appear in GET /v1/projects/:project_id/usage-limit-plans?archived=true.

Use Archive Usage Limit Plan to hide the Plan from active management lists again.