{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/octoprint/json-schema/octoprint-post-api-util-test-request-schema.json",
  "title": "PostApiUtilTestRequest",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/octoprint-openapi-generated.yml#/components/schemas/PostApiUtilTestRequest",
  "type": "object",
  "properties": {
    "command": {
      "type": "string",
      "description": "The command to execute, currently either path, url, server, resolution or address"
    },
    "path": {
      "type": "string",
      "description": "path command only: the path to test"
    },
    "check_type": {
      "type": "string",
      "description": "path command only: the type of path to test for, either file or dir"
    },
    "check_access": {
      "type": "array",
      "description": "path command only: a list of access permissions to check for"
    },
    "allow_create_dir": {
      "type": "boolean",
      "description": "path command and checktype of dir only: whether to allow creation of the directory if it doesn't yet exist"
    },
    "check_writable_dir": {
      "type": "boolean",
      "description": "path command and checktype of dir only: whether to test if the directory is writable by also trying to create a test file in it"
    },
    "url": {
      "type": "string",
      "description": "url command only: the URL to test"
    },
    "status": {
      "type": "string",
      "description": "url command only: one or more expected status codes"
    },
    "method": {
      "type": "string",
      "description": "url command only: the HTTP method to use for the check"
    },
    "timeout": {
      "type": "number",
      "description": "url and server commands only: the timeout for the test request"
    },
    "response": {
      "type": "string",
      "description": "url command only: whether to include response data and if so in what form"
    },
    "validSsl": {
      "type": "boolean",
      "description": "url command only: whether to validate the SSL connection if the url happens to be an HTTPS URL or not"
    },
    "basicAuth": {
      "type": "object",
      "description": "url command only: a dictionary with the keys username and password to use for basic authentication"
    },
    "digestAuth": {
      "type": "object",
      "description": "url command only: a dictionary with the keys username and password to use for digest authentication"
    },
    "bearerAuth": {
      "type": "string",
      "description": "url command only: a string with the bearer token to use for bearer authentication"
    },
    "content_type_whitelist": {
      "type": "array",
      "description": "url command only: optional array of supported content types"
    },
    "content_type_blacklist": {
      "type": "array",
      "description": "url command only: optional array of unsupported content types"
    },
    "host": {
      "type": "string",
      "description": "server command only: the server to test"
    },
    "port": {
      "type": "integer",
      "description": "server command only: the port to test"
    },
    "protocol": {
      "type": "string",
      "description": "server command only: the protocol to test"
    },
    "name": {
      "type": "string",
      "description": "resolution command only: the host name to test"
    },
    "address": {
      "type": "string",
      "description": "address command only: the address to test"
    }
  },
  "required": [
    "command"
  ]
}