{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.github.io/infisical/json-schema/infisical-secret-create.json",
  "title": "Secret Create",
  "description": "JSON Schema for the Infisical secret create operation.",
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "description": "The ID of the project to create the secret in."
    },
    "projectSlug": {
      "type": "string",
      "description": "The slug of the project to create the secret in."
    },
    "environment": {
      "type": "string",
      "description": "The slug of the environment to create the secret in."
    },
    "secretPath": {
      "type": "string",
      "default": "/",
      "description": "The path to create the secret in."
    },
    "secretValue": {
      "type": "string",
      "description": "The value of the secret to create."
    },
    "secretComment": {
      "type": "string",
      "default": "",
      "description": "Attach a comment to the secret."
    },
    "secretMetadata": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "value": {
            "type": "string",
            "maxLength": 1020,
            "default": ""
          },
          "isEncrypted": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "key"
        ],
        "additionalProperties": false
      }
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The ID of the tags to be attached to the created secret."
    },
    "skipMultilineEncoding": {
      "type": "boolean",
      "nullable": true,
      "description": "Skip multiline encoding for the secret value."
    },
    "type": {
      "type": "string",
      "enum": [
        "shared",
        "personal"
      ],
      "default": "shared",
      "description": "The type of the secret to create."
    },
    "secretReminderRepeatDays": {
      "type": "number",
      "nullable": true,
      "description": "Interval for secret rotation notifications, measured in days."
    },
    "secretReminderNote": {
      "type": "string",
      "maxLength": 1024,
      "nullable": true,
      "description": "Note to be attached in notification email."
    }
  },
  "required": [
    "environment",
    "secretValue"
  ],
  "additionalProperties": false
}