---
updatedAt: 2026-06-09T13:03:57.000Z
agentTools:
  projectIndex: https://docs.api.kiln.fi/v0-api-testnet/llms.txt
---

# Exit Messages

Get encrypted exit message for a validator

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "x-logo": {
      "url": "assets/logo-preview.png"
    },
    "title": "Kiln API",
    "description": "This API provides reporting staking data on various protocols as\nwell as network wide data, staking transaction crafting features\nand so on.\n\n### ACCESS\n\nIn order to use the Kiln API, you must first get an API token\nfrom your <a href=\"https://dashboard.kiln.fi/\">Kiln dashboard</a>\n(applications section). If you don't have access to our dashboard,\nplease get in touch at hello@kiln.fi.\n\nOnce you have your API token, you can set it as a bearer token in\nyour HTTP request headers, and target the Kiln API endpoint with\nthe current MAJOR version of the API as a prefix to routes:\n\n<blockquote>\ncurl \"https://api.kiln.fi/v1/...\" -H \"Authorization: Bearer $KILN_API_TOKEN\"\n</blockquote>\n\n<i>\nIf you need a development environment, please reach out to\nhello@kiln.fi to have a specific access to our testnet environment\nand dedicated API endpoint.\n</i>\n\n### VERSIONING\n\nVersions of the Kiln API use <b>MAJOR.MINOR.PATCH</b> where:\n\n- <b>MAJOR</b> version is increased when there is major\n  incompatible API changes, major versions will be communicated in\n  advance to all customers with a smooth transition path that\n  spans over a minimum period of 3 MINOR versions or ~3\n  months. <i>Intended frequency: 1 year</i>.\n- <b>MINOR</b> version is increased for backward compatible API\n  changes without notice, or communicated breaking changes with a\n  1 minor version notice and a smooth migration path. Minor\n  versions will be communicated regularly to customers with the\n  changelog. <i>Intended frequency: 1 month</i>.\n- <b>PATCH</b> version is increased for backward compatible\n  hot-fixes, patch versions will be communicated to affected\n  customers.\n\n<i>\nDue to the nature of blockchains (protocol disappearing,\nbreaking protocol upgrades), Kiln may introduce\nbackward-incompatible changes in MINOR versions after following\na 1 MINOR version deprecation path (~1 month). These impacting\nchanges will be narrowed as much as possible to the protocol,\nheavily communicated with clear guidelines and support. Customer\nnot relying on affected protocols will not be affected.\n</i>\n\n### BACKWARD COMPATIBILITY\n\nKiln considers the following changes to be backward compatible:\n\n- Adding new API routes.\n- Adding new optional request parameters to existing API methods.\n- Adding new properties to existing API responses.\n- Changing the order of properties in existing API responses.\n- Adding new event types in existing enums.\n\nNon-breaking changes may be introduced in our API and subject to\nmodification before being officialy communicated and documented\nhere. Your application should not depend on them until part of\nthis specification. The preview Kiln API specifications with\nupcoming and experimental new features can be found\n[here](/preview.html).\n\n### REWARDS BEHAVIOR\n\n- No `start_date`: Returns rewards from validator activation date.\n- No `end_date`: Returns rewards up to yesterday.",
    "termsOfService": "https://kiln.fi/",
    "contact": {
      "email": "contact@kiln.fi"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "version": "Preview"
  },
  "servers": [
    {
      "url": "https://api.kiln.fi/v1"
    },
    {
      "url": "https://api.testnet.kiln.fi/v1"
    }
  ],
  "tags": [
    {
      "name": "Ethereum (ETH)",
      "description": "Staking facilities for the Ethereum protocol"
    }
  ],
  "paths": {
    "/eth/exit-messages": {
      "get": {
        "tags": [
          "Ethereum (ETH)"
        ],
        "summary": "Exit Messages",
        "description": "Get encrypted exit message for a validator",
        "operationId": "getExitMessage",
        "parameters": [
          {
            "$ref": "#/components/parameters/ETHValidatorsParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json; charset=utf-8": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ETHExitMessage"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameters"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal server error"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "parameters": {
      "ETHValidatorsParam": {
        "name": "validators",
        "in": "query",
        "description": "Comma-separated list of validators addresses. Recommended limit is 200.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "example": "0x95373bcf8e2c64e1c373a6e534c002f210adbcc84c5abda3b6306677e171430ae50781a51c9f579a47622e334dba2412"
          }
        }
      }
    },
    "schemas": {
      "ETHExitMessage": {
        "type": "object",
        "required": [
          "validator_address",
          "gpg_public_key",
          "payload",
          "updated_at"
        ],
        "properties": {
          "validator_address": {
            "type": "string",
            "description": "Public key of the validator",
            "example": "0x95373bcf8e2c64e1c373a6e534c002f210adbcc84c5abda3b6306677e171430ae50781a51c9f579a47622e334dba2412"
          },
          "gpg_public_key": {
            "type": "string",
            "description": "GnuPG UID of the public key used to encrypt payload",
            "example": "Hubert Bonisseur de La Bath (hubert) <hubert@kiln.fi>"
          },
          "payload": {
            "type": "string",
            "description": "GnuPG encrypted consensus message to exit the validator",
            "example": "-----BEGIN PGP MESSAGE-----\n\nhQEMAw2MqHavoVh9AQf/f5paxAuOB25SlXqKmLea0yHJBXnwuMuByfDZbXOBe4mD\niXz4ZJakeKGLbeJ/pP3Nwtu9vnIagQKF0YVNmrenkt8bL1jo/B6r34ycGIat/+GX\n1dc3GxyOBxju2q4JMe5chXdR4HXX3uU9QaynD24D5tsFgTxGM2I8JqV6BXEXgbBZ\nMXqtAjBcYd+krE1w135fuEYA6Nb/89QjLPcWXk92aS1K0WC39iAZxPsa7nyuhvRg\ndGXGQX+RrJ8jHAS4a074C3eAB3wCecvDk9d+FoUI3kaczUd4Ew7vUY0FX55oO60N\nqZxA5VwSHTfoH4fNPINeKr4Dx1mVLNcNM3z5qWcA6NKaAQak+arCnAYhLFCg/ydh\nzEcEWW1ebI4Ab3aweR17jme2I+XoWEwIBtUX7op6K7RUb3x9cBdGy4PDw6syBQJ3\nLExv8qZ43F9u0hD8UizpYQZESduT3x+To1/UQ3qBILuq2yszWaXP/kav1+fafLNb\nyEuHE2EoB27vDv6hSpwlDrXesGoMCc5NlAZBLnWiUcwzu2X19ASWnBSAmQ==\n=9AeP\n-----END PGP MESSAGE-----\n"
          },
          "updated_at": {
            "type": "string",
            "description": "When the exit message was generated",
            "format": "date-time",
            "example": "2023-01-14T01:13:59Z"
          }
        }
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ]
}
```