API Documentation
Simple and powerful REST API: Bearer authentication, JSON format, webhooks on consultation. Integrate secure sharing into your DevOps pipelines.
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
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 = errorMESSAGE: result descriptiondata: response payload
Available operations
6 REST endpoints to create, modify, view and delete your secrets.
create_seecret — Create a secret
| Parameter | Type | Required | Description |
|---|---|---|---|
operation | string | create_seecret | |
lang | string | Language: fr, en, es, ru | |
seecret | string | Secret content | |
expiration_date | YYYY-MM-DD | Expiration (default: +7 days, max +60) | |
number_view | int | Views allowed (default: 1) | |
view_notification | 0 or 1 | Email notification on read | |
password | string | Additional password | |
note | string | Internal note (creator only) | |
domain | string | Custom domain (URL branding) | |
recipient_email | string | Auto-send link by email | |
country_block[] | array | ISO country codes to block | |
split_link | int | Split sharing (1 to 10) | |
split_link_required | int | Required 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
operation | string | update_seecret | |
id | string | Secret ID | |
cle | string | Decryption key (URL fragment #) | |
seecret | string | New content | |
lang | string | Language | |
expiration_date | YYYY-MM-DD | New expiration | |
number_view | int | New view count | |
password | string | New additional password | |
delete_password | 1 | Remove 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
operation | string | get_seecret | |
id | string | Secret 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 }
}
} 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
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