---
title: Security Tools API
slug: security-tools-api
url: https://apyhub.com/freedailypro/service/security-tools-api
provider: FreeDailyPro
tags: [password-generator, password-strength, hashing, jwt, security]
auth: api_key
version: 1.0.0
service_type: sync
endpoints: 4
atoms: 10
mcp: true
---

# Security Tools API

Easily generate passwords, check password strength and hash text using the Security Tools API. Also decode and inspect JWT tokens.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| POST | `https://api.eu.apyhub.com/freedailypro/security-tools-api/text/password` | What it does Generates a secure password from the provided options, returning the generated passwor… | 10 |
| POST | `https://api.eu.apyhub.com/freedailypro/security-tools-api/security/password-strength` | What it does Checks the strength of a submitted password and returns an analysis object with a scor… | 10 |
| POST | `https://api.eu.apyhub.com/freedailypro/security-tools-api/security/hash` | What it does Generates a hash for the provided text using the selected algorithm. It accepts a text… | 10 |
| POST | `https://api.eu.apyhub.com/freedailypro/security-tools-api/security/jwt-decode` | What it does Decodes and inspects a JWT from the request body, then returns the parsed header, payl… | 10 |

## Endpoint reference

### Secure Password Generator

`POST https://api.eu.apyhub.com/freedailypro/security-tools-api/text/password` · 10 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `length` | body | number | no |  |
| `numbers` | body | boolean | no |  |
| `symbols` | body | boolean | no |  |
| `lowercase` | body | boolean | no |  |
| `uppercase` | body | boolean | no |  |

#### Quickstart

Generate a new password by sending the minimum required settings in the request body.

```bash
curl -X POST "https://api.eu.apyhub.com/freedailypro/security-tools-api/text/password" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"length":12,"numbers":true,"symbols":true,"lowercase":true,"uppercase":true}'
```

#### What you'll get back

Returns a JSON object with three string fields: `tool` is the name of the tool that produced the response, `password` is the generated password, and `strength` is the estimated password strength.

```json
{
  "tool": "security-tools-api",
  "password": "V7m!q2Lx9Pz#",
  "strength": "strong"
}
```

### Password Strength Checker

`POST https://api.eu.apyhub.com/freedailypro/security-tools-api/security/password-strength` · 10 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `password` | body | string | yes |  |

#### Quickstart

Check how strong a password is by sending it in a JSON body.

```bash
curl -X POST "https://api.eu.apyhub.com/freedailypro/security-tools-api/security/password-strength" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"password":"CorrectHorseBatteryStaple123!"}'
```

#### What you'll get back

Returns a JSON object with a `tool` string and a `result` object. The `result` object contains `score` as a number from 0 to 4, `label` as a strength word, `entropyBitsApprox` as an estimated entropy value, and `feedback` as an array of strings with improvement tips.

```json
{
  "tool": "password-strength",
  "result": {
    "score": 4,
    "label": "Very Strong",
    "entropyBitsApprox": 120,
    "feedback": []
  }
}
```

### Text Hash Generator (MD5, SHA)

`POST https://api.eu.apyhub.com/freedailypro/security-tools-api/security/hash` · 10 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `text` | body | string | yes |  |
| `algorithm` | body | string | no | One of: md5, sha1, sha256, sha384, sha512. |

#### Quickstart

Hash a text value with the default MD5 algorithm.

```bash
curl -X POST "https://api.eu.apyhub.com/freedailypro/security-tools-api/security/hash" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"hello world"}'
```

#### What you'll get back

Returns a JSON object with `tool`, `algorithm`, and `result` fields. `tool` is the name of the tool that produced the response, `algorithm` is the hash algorithm used, and `result` is the lowercase hexadecimal hash string.

```json
{
  "tool": "security-tools-api",
  "algorithm": "md5",
  "result": "5eb63bbbe01eeed093cb22bb8f5acdc3"
}
```

### JWT Decoder & Inspector

`POST https://api.eu.apyhub.com/freedailypro/security-tools-api/security/jwt-decode` · 10 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `token` | body | string | yes |  |

#### Quickstart

Decode a JWT by sending the token in a JSON body.

```bash
curl -X POST "https://api.eu.apyhub.com/freedailypro/security-tools-api/security/jwt-decode" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLTEyMyIsImV4cCI6MTczNTY4OTYwMH0.signature"}'
```

#### What you'll get back

Returns a JSON object with the JWT evaluation result and decoded parts. The response includes top-level fields like `tool`, `valid`, `wellFormed`, `status`, `signatureVerified`, `issues`, `header`, `payload`, `signature`, `evaluatedAt`, and `algorithm`, plus time-related fields such as `expired`, `expiresAt`, `issuedAt`, `notBefore`, `notYetValid`, `secondsUntilExpiry`, and `unsigned` when applicable.

```json
{
  "tool": "jwt-decode",
  "valid": true,
  "wellFormed": true,
  "status": "ok",
  "signatureVerified": false,
  "issues": [],
  "header": {},
  "payload": {},
  "signature": "signature",
  "evaluatedAt": "2026-11-11T00:00:00Z",
  "algorithm": "HS256"
}
```

## About

## What it does
Security Utilities gives you a small set of security-focused endpoints for working with passwords, hashes, and JWTs. Send a password, token, or text value and get back the specific security result you need in a machine-readable response.

Use the password generator to create a password with a chosen length from 4 to 128 characters, plus optional numbers, symbols, lowercase letters, and uppercase letters. It returns the generated password, an estimated strength, and the tool name. Use the password strength checker when you already have a password and want a scored assessment, a strength label, approximate entropy in bits, and feedback strings that point out what to improve.

For text integrity checks, the hash endpoint accepts a text string and an optional algorithm of md5, sha1, sha256, sha384, or sha512, then returns the selected algorithm and the lowercase hexadecimal hash. For token inspection, the JWT decoder accepts a token string and returns the decoded header, payload, and signature along with validity fields such as valid, wellFormed, status, signatureVerified, issues, algorithm, and evaluatedAt. Time-based JWT fields are surfaced when present, including exp, iat, and nbf-related values.

Security Utilities fits into signup flows, admin tools, content pipelines, and debugging workflows where you need quick validation or deterministic security output without building the parsing logic yourself.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/freedailypro/service/security-tools-api
