{
  "openapi": "3.1.0",
  "info": {
    "title": "Encryption & Hashing Utility API",
    "version": "v0.0.2",
    "description": "Hash and sign data, encrypt/decrypt payloads, generate keys/JWTs, encode content and run optional threat lookups.",
    "x-pricing-model": "payg",
    "x-free-tier-calls": 0,
    "x-docs-url": "",
    "x-dakidarts-contract-status": "published",
    "x-dakidarts-execution-status": "source-only"
  },
  "servers": [
    {
      "url": "https://api.dakidarts.com/encryption-hashing",
      "description": "Dakidarts direct gateway"
    }
  ],
  "tags": [
    {
      "name": "Operations",
      "description": "Operations endpoints sourced from the Encryption & Hashing Utility API implementation."
    },
    {
      "name": "Cryptography",
      "description": "Cryptography endpoints sourced from the Encryption & Hashing Utility API implementation."
    }
  ],
  "paths": {
    "/status": {
      "get": {
        "summary": "Status",
        "description": "Health check. Returns API name, version, uptime and current UTC time.",
        "operationId": "encryption-hashing_get_status",
        "tags": [
          "Operations"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "ok": true,
                    "name": "Encryption & Hashing Utility API",
                    "time": "2026-08-28T09:00:00Z",
                    "version": "v0.0.2",
                    "uptime_seconds": 1234.5
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "ok": true,
          "name": "Encryption & Hashing Utility API",
          "time": "2026-08-28T09:00:00Z",
          "version": "v0.0.2",
          "uptime_seconds": 1234.5
        }
      }
    },
    "/meta": {
      "get": {
        "summary": "Meta",
        "description": "Machine-readable metadata: version + every available endpoint.",
        "operationId": "encryption-hashing_get_meta",
        "tags": [
          "Operations"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true
      }
    },
    "/hash": {
      "post": {
        "summary": "Hash Endpoint",
        "description": "Hash any text with 19 algorithms: SHA-1/SHA-2/SHA-3, MD5, BLAKE2, RIPEMD-160, CRC32/Adler32 checksums, and secure password hashes (bcrypt, argon2, scrypt, PBKDF2).",
        "operationId": "encryption-hashing_post_hash",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "salt": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "params": {
                      "type": "object",
                      "properties": {
                        "digest": {
                          "description": "Dynamic source value; no concrete response example is published."
                        },
                        "iterations": {
                          "description": "Dynamic source value; no concrete response example is published."
                        }
                      },
                      "additionalProperties": true
                    },
                    "result": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "algorithm": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  },
                  "algo": {
                    "type": "string"
                  },
                  "rounds": {
                    "type": "integer"
                  },
                  "salt": {
                    "type": "string"
                  },
                  "n": {
                    "type": "integer"
                  },
                  "r": {
                    "type": "integer"
                  },
                  "p": {
                    "type": "integer"
                  },
                  "iterations": {
                    "type": "integer"
                  },
                  "digest": {
                    "type": "string"
                  }
                },
                "required": [
                  "algo",
                  "text"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true
      }
    },
    "/hash/verify": {
      "post": {
        "summary": "Hash Verify",
        "description": "Verify a `bcrypt` or `argon2` hash against a plaintext password. Ideal for login flows.",
        "operationId": "encryption-hashing_post_hash_verify",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verified": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "algorithm": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  },
                  "algo": {
                    "type": "string"
                  },
                  "hash": {
                    "type": "string"
                  }
                },
                "required": [
                  "algo",
                  "hash",
                  "text"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "verified": true,
          "algorithm": "argon2"
        }
      }
    },
    "/hmac": {
      "post": {
        "summary": "Hmac Endpoint",
        "description": "Sign a message with an HMAC key (SHA-1/224/256/384/512). Use for API request signing, webhook validation and message integrity.",
        "operationId": "encryption-hashing_post_hmac",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "algorithm": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  },
                  "algo": {
                    "type": "string",
                    "default": "sha256"
                  }
                },
                "required": [
                  "key",
                  "text"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "result": "8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b",
          "algorithm": "sha256"
        }
      }
    },
    "/encrypt": {
      "post": {
        "summary": "Encrypt",
        "description": "Encrypt text with 5 ciphers: **AES-CBC**, **AES-GCM** (authenticated), **ChaCha20**, **Blowfish** and **RSA-OAEP**. Returns base64 ciphertext plus the `iv` / `nonce` / `tag` needed for decryption.",
        "operationId": "encryption-hashing_post_encrypt",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object",
                      "properties": {
                        "ciphertext": {
                          "description": "Dynamic source value; no concrete response example is published."
                        }
                      },
                      "additionalProperties": true
                    },
                    "algorithm": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  },
                  "algo": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  }
                },
                "required": [
                  "algo",
                  "key",
                  "text"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "result": {
            "tag": "id6eLlLQpC/jc+0zdemNew==",
            "mode": "GCM",
            "nonce": "YIpfsm2fZMzSH2fi3gH9ew==",
            "ciphertext": "dQmpD2zuCEA="
          },
          "algorithm": "AES-GCM"
        }
      }
    },
    "/decrypt": {
      "post": {
        "summary": "Decrypt",
        "description": "Decrypt ciphertext produced by `/encrypt` (AES-CBC, AES-GCM, ChaCha20, Blowfish, RSA). **AES-GCM verifies authenticity** and rejects tampered data.",
        "operationId": "encryption-hashing_post_decrypt",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "algorithm": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "algo": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  },
                  "ciphertext": {
                    "type": "string"
                  },
                  "iv": {
                    "type": "string",
                    "x-required-group": "conditional"
                  },
                  "nonce": {
                    "type": "string",
                    "x-required-group": "conditional"
                  },
                  "tag": {
                    "type": "string",
                    "x-required-group": "conditional"
                  }
                },
                "required": [
                  "algo",
                  "ciphertext",
                  "key"
                ]
              }
            }
          }
        },
        "x-required-groups": {
          "conditional": [
            "iv",
            "nonce",
            "tag"
          ]
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "result": "secret data",
          "algorithm": "AES-GCM"
        }
      }
    },
    "/rsa/keys": {
      "post": {
        "summary": "Rsa Keys",
        "description": "Generate a fresh RSA key pair (1024\u20134096 bit) as PEM. Returns both private and public keys.",
        "operationId": "encryption-hashing_post_rsa_keys",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bits": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "algorithm": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "public_key": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "private_key": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bits": {
                    "type": "integer",
                    "default": 2048
                  }
                }
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "bits": 2048,
          "algorithm": "RSA",
          "public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----",
          "private_key": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"
        }
      }
    },
    "/keys": {
      "post": {
        "summary": "Generate Keys",
        "description": "Generate AES symmetric keys (hex + base64), random bytes, or URL-safe API secret tokens.",
        "operationId": "encryption-hashing_post_keys",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "hex": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "size": {
                      "type": "integer"
                    },
                    "type": {
                      "type": "string"
                    },
                    "base64": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "size": {
                    "type": "integer",
                    "default": 32
                  },
                  "length": {
                    "type": "integer",
                    "default": 32
                  }
                },
                "required": [
                  "type"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "bits": 2048,
          "algorithm": "RSA",
          "public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----",
          "private_key": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"
        }
      }
    },
    "/password": {
      "post": {
        "summary": "Password",
        "description": "Generate a cryptographically strong random password, guaranteed to contain lowercase, uppercase and digits (plus symbols if enabled).",
        "operationId": "encryption-hashing_post_password",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "length": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "result": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "symbols": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "length": {
                    "type": "integer",
                    "default": 20
                  },
                  "symbols": {
                    "type": "boolean",
                    "default": true
                  }
                }
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "length": 16,
          "result": "6?9t_Qa;Y?1kry,[",
          "symbols": true
        }
      }
    },
    "/uuid": {
      "get": {
        "summary": "Uuid Endpoint",
        "description": "Generate a UUID v4 (random) or v1 (time-based).",
        "operationId": "encryption-hashing_get_uuid",
        "tags": [
          "Cryptography"
        ],
        "parameters": [
          {
            "name": "version",
            "in": "query",
            "required": false,
            "description": "One of: `4`, `1`. Default: `4`.",
            "schema": {
              "type": "string",
              "default": 4
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "result": "2ae5a0c1-0315-49a9-92cd-fdece27f048b",
                    "version": "4"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "result": "2ae5a0c1-0315-49a9-92cd-fdece27f048b",
          "version": "4"
        }
      }
    },
    "/encode/base64": {
      "post": {
        "summary": "Encode Base64",
        "description": "Encode any text to base64.",
        "operationId": "encryption-hashing_post_encode_base64",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "encoding": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "result": "aGVsbG8gd29ybGQ=",
          "encoding": "base64"
        }
      }
    },
    "/decode/base64": {
      "post": {
        "summary": "Decode Base64",
        "description": "Decode a base64 string back to text.",
        "operationId": "encryption-hashing_post_decode_base64",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "encoding": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "result": "hello world",
          "encoding": "base64"
        }
      }
    },
    "/encode/url": {
      "post": {
        "summary": "Encode Url",
        "description": "Percent-encode a string for safe use in URLs and query strings.",
        "operationId": "encryption-hashing_post_encode_url",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "encoding": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "result": "a%20b%26c%3Dd",
          "encoding": "url"
        }
      }
    },
    "/decode/url": {
      "post": {
        "summary": "Decode Url",
        "description": "Decode a percent-encoded string back to readable text.",
        "operationId": "encryption-hashing_post_decode_url",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "encoding": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "result": "a b&c=d",
          "encoding": "url"
        }
      }
    },
    "/jwt/encode": {
      "post": {
        "summary": "Jwt Encode",
        "description": "Create a signed JWT (HS256/HS384/HS512) from any JSON payload \u2014 for auth tokens, session tokens and API keys.",
        "operationId": "encryption-hashing_post_jwt_encode",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "algorithm": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "payload": {
                    "type": "object"
                  },
                  "secret": {
                    "type": "string"
                  },
                  "algo": {
                    "type": "string",
                    "default": "HS256"
                  }
                },
                "required": [
                  "payload",
                  "secret"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "result": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiZGFraWQiLCJyb2xlIjoiYWRtaW4ifQ.Mc0J6lOOZEfuvlfwVQjoHt60cCc3uFKKJpXn0N_r5J8",
          "algorithm": "HS256"
        }
      }
    },
    "/jwt/decode": {
      "post": {
        "summary": "Jwt Decode",
        "description": "Verify a JWT signature and decode its payload. Returns an error for wrong secrets, expired or tampered tokens.",
        "operationId": "encryption-hashing_post_jwt_decode",
        "tags": [
          "Cryptography"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "payload": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "token": {
                    "type": "string"
                  },
                  "secret": {
                    "type": "string"
                  }
                },
                "required": [
                  "secret",
                  "token"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "payload": {
            "role": "admin",
            "user": "dakid"
          }
        }
      }
    },
    "/external/pwned": {
      "post": {
        "summary": "Pwned",
        "description": "Check if a password has appeared in known data breaches via **Have I Been Pwned**. Uses **k-anonymity** \u2014 only the first 5 characters of the SHA-1 hash leave your device; the password itself is never transmitted. **BYOK:** supply your own `X-Hibp-Api-Key` header (optional \u2014 works keyless).",
        "operationId": "encryption-hashing_post_external_pwned",
        "tags": [
          "Cryptography"
        ],
        "parameters": [
          {
            "name": "X-Hibp-Api-Key",
            "in": "header",
            "required": false,
            "description": "Your HIBP key (for premium rate limits).",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "integer"
                    },
                    "service": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "breached": {
                      "type": "boolean"
                    },
                    "key_used": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "occurrences": {
                      "type": "integer"
                    },
                    "sha1_prefix": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "password": {
                    "type": "string"
                  }
                },
                "required": [
                  "password"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true,
        "x-dakidarts-sample-response": {
          "message": "Password appears 2266543 time(s) in known breaches.",
          "service": "Have I Been Pwned",
          "breached": true,
          "key_used": false,
          "occurrences": 2266543,
          "sha1_prefix": "CBFDA"
        }
      }
    },
    "/external/virustotal": {
      "post": {
        "summary": "Virustotal",
        "description": "Look up the malware reputation of a file hash (MD5/SHA1/SHA256) in **VirusTotal's** database. Returns detection stats and a permalink. **BYOK:** requires your own `X-Virustotal-Api-Key` header.",
        "operationId": "encryption-hashing_post_external_virustotal",
        "tags": [
          "Cryptography"
        ],
        "parameters": [
          {
            "name": "X-Virustotal-Api-Key",
            "in": "header",
            "required": true,
            "description": "Your VirusTotal API key.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "md5": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "sha1": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "found": {
                      "type": "boolean"
                    },
                    "sha256": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "service": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "permalink": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "reputation": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "meaningful_name": {
                      "description": "Dynamic source value; no concrete response example is published."
                    },
                    "last_analysis_stats": {
                      "description": "Dynamic source value; no concrete response example is published."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "description": "Client error"
          },
          "5XX": {
            "description": "Upstream or gateway error"
          },
          "503": {
            "description": "No live upstream is configured. Sample responses are preview-only."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "resource": {
                    "type": "string"
                  }
                },
                "required": [
                  "resource"
                ]
              }
            }
          }
        },
        "x-dakidarts-execution-status": "source-only",
        "x-dakidarts-source-contract": true
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key"
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ]
}