REST API

API Documentation

Simple and powerful REST API: Bearer authentication, JSON format, webhooks on consultation. Integrate secure sharing into your DevOps pipelines.

Getting started

Base URL & format

The Seecret.it REST API lets you integrate all features into your internal tools, automation scripts, CRM or business apps.

POST https://seecret.it/api
Content-Type: application/x-www-form-urlencoded
Security

Authentication

Each request must include an Authorization header with a Bearer UUID token tied to your subscribed account.

Authorization: Bearer YOUR_TOKEN_UUID

Token security

Never expose your token in a public repository (GitHub, GitLab…) or unprotected documentation. If leaked, regenerate immediately from your dashboard.

Response format (JSON)

  • CODE: 200 = success, 400/401/403 = error
  • MESSAGE: result description
  • data: response payload
Reference

Available operations

6 REST endpoints to create, modify, view and delete your secrets.

create_seecret — Create a secret

ParameterTypeRequiredDescription
operationstringcreate_seecret
langstringLanguage: fr, en, es, ru
seecretstringSecret content
expiration_dateYYYY-MM-DDExpiration (default: +7 days, max +60)
number_viewintViews allowed (default: 1)
view_notification0 or 1Email notification on read
passwordstringAdditional password
notestringInternal note (creator only)
domainstringCustom domain (URL branding)
recipient_emailstringAuto-send link by email
country_block[]arrayISO country codes to block
split_linkintSplit sharing (1 to 10)
split_link_requiredintRequired keys count

PHP + cURL example

$ch = curl_init("https://seecret.it/api");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_TOKEN_UUID',
    'Content-Type: application/x-www-form-urlencoded'
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
    'operation'         => 'create_seecret',
    'lang'              => 'en',
    'seecret'           => 'SSH password: s3cr3t!',
    'expiration_date'   => date('Y-m-d', strtotime('+7 days')),
    'number_view'       => 1,
    'view_notification' => 1,
    'note'              => 'Production server access',
    'recipient_email'   => '[email protected]',
]));
$response = json_decode(curl_exec($ch), true);
echo $response['data']['url'];

Response

{
    "CODE": 200,
    "MESSAGE": "Secret created successfully",
    "data": {
        "id": "aB3kZ9",
        "url": "https://seecret.it/_aB3kZ9#decryption_key",
        "url_short": "http://s.seecret.it/key",
        "expires_at": 1748649600000
    }
}

update_seecret — Modify a secret

Modifies an existing secret. Must belong to your account, not expired. The decryption key (cle) is required to re-encrypt the new content.

ParameterTypeRequiredDescription
operationstringupdate_seecret
idstringSecret ID
clestringDecryption key (URL fragment #)
seecretstringNew content
langstringLanguage
expiration_dateYYYY-MM-DDNew expiration
number_viewintNew view count
passwordstringNew additional password
delete_password1Remove existing password
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
    'operation' => 'update_seecret',
    'id'        => 'aB3kZ9',
    'cle'       => 'decryption_key',
    'lang'      => 'en',
    'seecret'   => 'New password: N3wPwd!',
]));

get_seecret — Get secret info

Returns complete metadata: status, view log, attached files. Encrypted content is not returned.

ParameterTypeRequiredDescription
operationstringget_seecret
idstringSecret ID
{
    "CODE": 200,
    "data": {
        "id": "aB3kZ9",
        "status": "pending",
        "url": "https://seecret.it/_aB3kZ9#key",
        "expiration_date": "2026-06-01",
        "views_count": 0,
        "views_max": 1,
        "has_password": false
    }
}

list_seecrets — List your secrets

Returns paginated list with optional filters by status or text search.

{
    "CODE": 200,
    "data": {
        "total": 42,
        "page": 1,
        "limit": 20,
        "secrets": [ ... ]
    }
}

delete_seecret — Delete a secret

Immediately revokes a secret and deletes all attached files. Irreversible.

{
    "CODE": 200,
    "MESSAGE": "Secret deleted successfully"
}

get_account — Account information

Returns account info: subscription, storage, domains, statistics.

{
    "CODE": 200,
    "data": {
        "email": "[email protected]",
        "subscription_active": true,
        "api_token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "stats": { "total": 42, "pending": 15, "viewed": 20 }
    }
}
Compliance

Security & compliance

The API uses a secure architecture and respects French ANSSI and CNIL recommendations. All data is encrypted and hosted in France.

  • Zero-knowledge AES-256 encryption
  • French sovereign hosting
  • GDPR compliant
  • Full audit trail via webhooks
Ecosystem

Possible integrations

  • Ticketing systems (Jira, GLPI, Zendesk)
  • DevOps platforms (GitLab CI, GitHub Actions, Jenkins)
  • Internal CRM or ERP
  • Automation scripts (Python, Bash, PHP, Node.js)
  • Apps needing temporary access sharing

Python example

import requests

resp = requests.post(
    "https://seecret.it/api",
    headers={"Authorization": "Bearer YOUR_TOKEN_UUID"},
    data={
        "operation":   "create_seecret",
        "lang":        "en",
        "seecret":     "VPN password: s3cr3t!",
        "number_view": 1,
    }
)
print(resp.json()["data"]["url"])

Ready to integrate the Seecret.it API?

Pro plan at €2/month — unlimited API, email support, signed webhooks.

Get my API token