> ## Documentation Index
> Fetch the complete documentation index at: https://support.fortanix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reverts a security object to a previous state

> When a Key Undo Policy is in place, security objects maintain a list
of history states. Using this API endpoint, clients may revert the
security object to a previous (non-expired) history state.

## OpenAPI

````json PUT /crypto/v1/keys/{key_id}/revert
{
  "openapi": "3.0.0",
  "info": {
    "title": "Fortanix DSM REST API",
    "description": "This is a set of REST APIs for accessing the Fortanix Data Security Manager. This includes APIs for managing accounts, and for performing cryptographic and key management operations. \n\n **Note:** \n- All binary input should be base64-encoded. These fields are marked with `format: byte`. \n- For forward compatibility, any API client is expected to ignore any fields in the response not explicitly mentioned in the documentation. We reserve the right to add new fields at any time to provide new functionality without affecting existing API clients. \n- PATCH requests accept a JSON value describing a partial update to the specified resource. All top-level fields in the PATCH request are optional. If an optional field is omitted, the existing value of that field is preserved. In general, for nested JSON objects, the request must provide the complete object value rather than a partial update.",
    "termsOfService": "https://fortanix.com/legal/agreements-and-standard-terms",
    "contact": {
      "name": "Fortanix Support",
      "url": "https://support.fortanix.com/",
      "email": "support@fortanix.com"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "version": "0.1.0-20260814"
  },
  "servers": [
    {
      "url": "{dsmEndpoint}",
      "description": "DSM Endpoint",
      "variables": {
        "dsmEndpoint": {
          "default": "https://amer.smartkey.io",
          "description": "Type your DSM server URL here (include https://)"
        }
      }
    }
  ],
  "paths": {
    "/crypto/v1/keys/{key_id}/revert": {
      "put": {
        "operationId": "RevertPrevKeyOp",
        "tags": [
          "Keys"
        ],
        "security": [
          {
            "bearerToken": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "summary": "Reverts a security object to a previous state.",
        "description": "When a Key Undo Policy is in place, security objects maintain a list\nof history states. Using this API endpoint, clients may revert the\nsecurity object to a previous (non-expired) history state.",
        "parameters": [
          {
            "name": "key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevertRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Nothing is returned on success"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "RevertRequest": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "ids": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            },
            "required": [
              "ids"
            ]
          }
        ]
      }
    },
    "securitySchemes": {
      "bearerToken": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "apiKeyAuth": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "Please enter your token prefixed with 'Basic ' (e.g., 'Basic your_token_here')"
      }
    }
  }
}
````

