{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.akeyless.io/schemas/secret",
  "title": "Akeyless Secret",
  "description": "Schema for an Akeyless static secret item stored in the vault.",
  "type": "object",
  "required": ["name", "value"],
  "properties": {
    "name": {
      "type": "string",
      "description": "The full path and name of the secret item (e.g. /my-folder/my-secret).",
      "example": "/prod/database/password"
    },
    "value": {
      "type": "string",
      "description": "The secret value to store.",
      "example": "s3cr3tP@ssw0rd"
    },
    "description": {
      "type": "string",
      "description": "Human-readable description of the secret.",
      "example": "Production database password for PostgreSQL"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of tags to attach to the secret item.",
      "example": ["env:prod", "team:platform", "service:database"]
    },
    "token": {
      "type": "string",
      "description": "Akeyless authentication token obtained from /auth.",
      "example": "t-1234567890abcdef"
    },
    "uid-token": {
      "type": "string",
      "description": "Universal Identity token for authentication.",
      "example": "u-abcdef1234567890"
    },
    "multiline-value": {
      "type": "boolean",
      "description": "Whether the secret value spans multiple lines.",
      "default": false
    },
    "delete-protection": {
      "type": "string",
      "description": "Enable deletion protection (true/false).",
      "enum": ["true", "false"],
      "default": "false"
    },
    "accessibility": {
      "type": "string",
      "description": "Determines whether the item is accessible by the GW (regular) or requires a cloud-provider token (fetchSecret).",
      "enum": ["regular", "fetchSecret"],
      "default": "regular"
    },
    "expiration-event-in": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "How many days before expiry to send an expiration event (e.g. ['30', '7', '1']).",
      "example": ["30", "7", "1"]
    },
    "cert-file-data": {
      "type": "string",
      "description": "Certificate file data (base64-encoded) for certificate-type secrets."
    }
  },
  "additionalProperties": false
}
