API Documentation

Integrate secure one-time secret sharing into your own apps and workflows

Create a Secret

POST/api/secrets

Creates a new secret and returns a one-time URL. The secret is permanently deleted after the link is opened or it expires.

Request Body

{
  "secret": "string (required)",
  "password": "string (optional)",
  "expiresIn": number (optional, hours, default: 24)
}

Response

{
  "id": "string",
  "url": "string"
}

Examples

cURL

curl -X POST https://vanisec.clouddrove.com/api/secrets \
  -H "Content-Type: application/json" \
  -d '{
    "secret": "my-secret-api-key",
    "password": "optional-password",
    "expiresIn": 24
  }'

JavaScript

const response = await fetch('https://vanisec.clouddrove.com/api/secrets', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    secret: 'my-secret-api-key',
    password: 'optional-password',
    expiresIn: 24,
  }),
});

const { id, url } = await response.json();
console.log(url); // Share this one-time link

Python

import requests

response = requests.post(
    'https://vanisec.clouddrove.com/api/secrets',
    json={
        'secret': 'my-secret-api-key',
        'expiresIn': 24,
    }
)

data = response.json()
print(data['url'])  # Share this one-time link

Rate Limits

The API currently has no rate limits. We may introduce limits in the future to ensure fair use for all users — if we do, we'll announce it in the GitHub repository.

Self-Hosting

Vanisec is fully open source. Run your own instance on your own infrastructure — Docker and docker-compose configs are included.

View on GitHub