{
    "lexicon": 1,
    "id": "place.wisp.v2.secret.rotate",
    "defs": {
        "main": {
            "type": "procedure",
            "description": "Rotate a webhook signing secret, generating a new token. The old token stops working immediately. The new token is only returned in this response.",
            "input": {
                "encoding": "application/json",
                "schema": {
                    "type": "object",
                    "required": ["name"],
                    "properties": {
                        "name": {
                            "type": "string",
                            "format": "record-key",
                            "maxLength": 64,
                            "description": "1–64 character server-managed secret ID. Use ASCII letters, digits, dots, underscores, and hyphens only."
                        }
                    }
                }
            },
            "output": {
                "encoding": "application/json",
                "schema": {
                    "type": "object",
                    "required": ["name", "token", "rotatedAt"],
                    "properties": {
                        "name": { "type": "string" },
                        "token": {
                            "type": "string",
                            "description": "The new signing token. Only returned here — store it now."
                        },
                        "rotatedAt": { "type": "string", "format": "datetime" }
                    }
                }
            },
            "errors": [
                { "name": "AuthenticationRequired" },
                { "name": "InvalidRequest" },
                { "name": "NotFound" }
            ]
        }
    }
}
