{"id":1162,"date":"2026-04-26T06:28:39","date_gmt":"2026-04-26T04:28:39","guid":{"rendered":"https:\/\/seecret.it\/blog\/?p=1162"},"modified":"2026-04-26T07:24:10","modified_gmt":"2026-04-26T05:24:10","slug":"mise-a-jour-de-lapi-seecret-it-toutes-les-nouvelles-fonctions-disponibles","status":"publish","type":"post","link":"https:\/\/seecret.it\/blog\/mise-a-jour-de-lapi-seecret-it-toutes-les-nouvelles-fonctions-disponibles\/","title":{"rendered":"Mise \u00e0 jour de l&#8217;API Seecret.it : toutes les nouvelles fonctions disponibles"},"content":{"rendered":"<p>L&#8217;API Seecret.it vient d&#8217;\u00eatre enrichie de nouvelles op\u00e9rations et param\u00e8tres pour offrir aux d\u00e9veloppeurs un contr\u00f4le total sur la cr\u00e9ation, la gestion et la suppression de secrets chiffr\u00e9s. Voici un tour complet de tout ce qui est d\u00e9sormais disponible.<\/p>\n<hr \/>\n<h2>Authentification<\/h2>\n<p>Toutes les requ\u00eates \u00e0 l&#8217;API n\u00e9cessitent un token Bearer plac\u00e9 dans le header <code>Authorization<\/code>. Ce token est disponible dans votre espace compte Seecret.it (abonnement actif requis).<\/p>\n<pre><code>Authorization: Bearer votre-token-uuid<\/code><\/pre>\n<p>L&#8217;API r\u00e9pond en JSON. Chaque r\u00e9ponse contient un champ <code>CODE<\/code> (code HTTP) et <code>MESSAGE<\/code> ou <code>data<\/code> selon l&#8217;op\u00e9ration.<\/p>\n<hr \/>\n<h2>Les 6 op\u00e9rations disponibles<\/h2>\n<h3>1. Cr\u00e9er un secret \u2014 <code>create_seecret<\/code><\/h3>\n<p>Cr\u00e9e un nouveau lien chiffr\u00e9 \u00e0 usage unique. C&#8217;est l&#8217;op\u00e9ration principale de l&#8217;API.<\/p>\n<table>\n<thead>\n<tr>\n<th>Param\u00e8tre<\/th>\n<th>Obligatoire<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>operation<\/code><\/td>\n<td>\u2705<\/td>\n<td>Valeur : <code>create_seecret<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>seecret<\/code><\/td>\n<td>\u2705<\/td>\n<td>Le contenu du secret \u00e0 chiffrer<\/td>\n<\/tr>\n<tr>\n<td><code>lang<\/code><\/td>\n<td>\u2705<\/td>\n<td>Langue de l&#8217;interface (<code>fr<\/code>, <code>en<\/code>, <code>es<\/code>, <code>ru<\/code>)<\/td>\n<\/tr>\n<tr>\n<td><code>expiration_date<\/code><\/td>\n<td>\u274c<\/td>\n<td>Date d&#8217;expiration au format <code>YYYY-MM-DD<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>number_view<\/code><\/td>\n<td>\u274c<\/td>\n<td>Nombre maximum de consultations autoris\u00e9es<\/td>\n<\/tr>\n<tr>\n<td><code>password<\/code><\/td>\n<td>\u274c<\/td>\n<td>Mot de passe requis pour acc\u00e9der au secret<\/td>\n<\/tr>\n<tr>\n<td><code>view_notification<\/code><\/td>\n<td>\u274c<\/td>\n<td>Recevoir une notification email \u00e0 chaque vue<\/td>\n<\/tr>\n<tr>\n<td><code>recipient_email<\/code><\/td>\n<td>\u274c<\/td>\n<td>Email du destinataire (re\u00e7oit le lien par email)<\/td>\n<\/tr>\n<tr>\n<td><code>country_block<\/code><\/td>\n<td>\u274c<\/td>\n<td>Tableau de codes pays bloqu\u00e9s (ex: <code>[\"RU\",\"CN\"]<\/code>)<\/td>\n<\/tr>\n<tr>\n<td><code>domain<\/code><\/td>\n<td>\u274c<\/td>\n<td>Domaine personnalis\u00e9 pour le lien g\u00e9n\u00e9r\u00e9<\/td>\n<\/tr>\n<tr>\n<td><code>note<\/code><\/td>\n<td>\u274c<\/td>\n<td>Note interne (non chiffr\u00e9e, visible uniquement par vous)<\/td>\n<\/tr>\n<tr>\n<td><code>split_link<\/code><\/td>\n<td>\u274c<\/td>\n<td>Nombre de liens Shamir pour le partage multi-parties<\/td>\n<\/tr>\n<tr>\n<td><code>split_link_required<\/code><\/td>\n<td>\u274c<\/td>\n<td>Nombre de liens requis pour r\u00e9v\u00e9ler le secret<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>R\u00e9ponse en cas de succ\u00e8s :<\/strong><\/p>\n<pre><code>{\r\n  \"CODE\": 200,\r\n  \"MESSAGE\": \"Secret created successfully\",\r\n  \"data\": {\r\n    \"id\": \"abc123\",\r\n    \"url\": \"https:\/\/seecret.it\/_abc123#cleDecryptage\",\r\n    \"url_short\": \"https:\/\/st.vg\/_abc123#cleDecryptage\",\r\n    \"expires_at\": \"2026-05-10\",\r\n    \"split_urls\": null\r\n  }\r\n}<\/code><\/pre>\n<p>Si l&#8217;option <code>split_link<\/code> est activ\u00e9e, le champ <code>split_urls<\/code> contient le tableau des liens individuels \u00e0 distribuer \u00e0 chaque participant.<\/p>\n<hr \/>\n<h3>2. Modifier un secret \u2014 <code>update_seecret<\/code><\/h3>\n<p>Permet de mettre \u00e0 jour un secret existant tant qu&#8217;il n&#8217;a pas expir\u00e9 ou atteint son nombre de vues maximum. La cl\u00e9 de d\u00e9chiffrement est obligatoire (c\u00f4t\u00e9 client uniquement).<\/p>\n<table>\n<thead>\n<tr>\n<th>Param\u00e8tre<\/th>\n<th>Obligatoire<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>id<\/code><\/td>\n<td>\u2705<\/td>\n<td>Identifiant du secret \u00e0 modifier<\/td>\n<\/tr>\n<tr>\n<td><code>cle<\/code><\/td>\n<td>\u2705<\/td>\n<td>Cl\u00e9 de d\u00e9chiffrement (fragment <code>#<\/code> de l&#8217;URL originale)<\/td>\n<\/tr>\n<tr>\n<td><code>seecret<\/code><\/td>\n<td>\u2705<\/td>\n<td>Nouveau contenu du secret<\/td>\n<\/tr>\n<tr>\n<td><code>delete_password<\/code><\/td>\n<td>\u274c<\/td>\n<td>Passer \u00e0 <code>1<\/code> pour supprimer le mot de passe existant<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\"><em>Tous les autres param\u00e8tres de <code>create_seecret<\/code> sont \u00e9galement disponibles<\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>3. Lire les m\u00e9tadonn\u00e9es d&#8217;un secret \u2014 <code>get_seecret<\/code><\/h3>\n<p>Retourne toutes les informations d&#8217;un secret (sans r\u00e9v\u00e9ler son contenu chiffr\u00e9) : statut, historique de vues, fichiers joints, restrictions actives\u2026<\/p>\n<pre><code>{\r\n  \"operation\": \"get_seecret\",\r\n  \"id\": \"abc123\"\r\n}<\/code><\/pre>\n<p><strong>R\u00e9ponse :<\/strong><\/p>\n<pre><code>{\r\n  \"CODE\": 200,\r\n  \"data\": {\r\n    \"id\": \"abc123\",\r\n    \"status\": \"pending\",\r\n    \"url\": \"https:\/\/seecret.it\/_abc123#cleDecryptage\",\r\n    \"expiration_date\": \"2026-05-10\",\r\n    \"created_at\": \"2026-04-26 10:00:00\",\r\n    \"views_count\": 1,\r\n    \"views_max\": 3,\r\n    \"views_log\": [\r\n      {\"date\": \"2026-04-26 11:30:00\", \"ip\": \"91.x.x.x\"}\r\n    ],\r\n    \"has_password\": false,\r\n    \"view_notification\": true,\r\n    \"note\": \"Credentials serveur prod\",\r\n    \"domain\": null,\r\n    \"recipient_email\": null,\r\n    \"country_block\": [\"RU\"],\r\n    \"split_link\": 0,\r\n    \"split_link_required\": 0,\r\n    \"files\": []\r\n  }\r\n}<\/code><\/pre>\n<p>Le champ <code>status<\/code> peut valoir <code>pending<\/code> (actif), <code>viewed<\/code> (nombre de vues atteint) ou <code>expired<\/code> (date d\u00e9pass\u00e9e).<\/p>\n<hr \/>\n<h3>4. Lister ses secrets \u2014 <code>list_seecrets<\/code><\/h3>\n<p>Retourne la liste pagin\u00e9e de tous vos secrets avec filtrage par statut et recherche plein texte.<\/p>\n<table>\n<thead>\n<tr>\n<th>Param\u00e8tre<\/th>\n<th>Valeur par d\u00e9faut<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>page<\/code><\/td>\n<td>1<\/td>\n<td>Num\u00e9ro de page<\/td>\n<\/tr>\n<tr>\n<td><code>limit<\/code><\/td>\n<td>20 (max 100)<\/td>\n<td>Nombre de r\u00e9sultats par page<\/td>\n<\/tr>\n<tr>\n<td><code>search<\/code><\/td>\n<td>\u2014<\/td>\n<td>Recherche dans l&#8217;ID, la note ou les noms de fichiers<\/td>\n<\/tr>\n<tr>\n<td><code>status<\/code><\/td>\n<td>tous<\/td>\n<td><code>pending<\/code> \/ <code>viewed<\/code> \/ <code>expired<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>R\u00e9ponse :<\/strong><\/p>\n<pre><code>{\r\n  \"CODE\": 200,\r\n  \"data\": {\r\n    \"total\": 42,\r\n    \"page\": 1,\r\n    \"limit\": 20,\r\n    \"pages\": 3,\r\n    \"secrets\": [ ... ]\r\n  }\r\n}<\/code><\/pre>\n<hr \/>\n<h3>5. Supprimer un secret \u2014 <code>delete_seecret<\/code><\/h3>\n<p>Supprime d\u00e9finitivement un secret et ses fichiers joints. Action irr\u00e9versible.<\/p>\n<pre><code>{\r\n  \"operation\": \"delete_seecret\",\r\n  \"id\": \"abc123\"\r\n}<\/code><\/pre>\n<pre><code>{\"CODE\": 200, \"MESSAGE\": \"Secret deleted successfully\"}<\/code><\/pre>\n<hr \/>\n<h3>6. Informations du compte \u2014 <code>get_account<\/code><\/h3>\n<p>Retourne les informations de votre compte, votre quota de stockage, vos domaines personnalis\u00e9s et des statistiques globales sur vos secrets.<\/p>\n<pre><code>{\r\n  \"CODE\": 200,\r\n  \"data\": {\r\n    \"email\": \"vous@exemple.com\",\r\n    \"first_name\": \"Jean\",\r\n    \"last_name\": \"Dupont\",\r\n    \"subscription_active\": true,\r\n    \"subscription_expires_at\": \"2027-01-01\",\r\n    \"api_token\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\r\n    \"storage_used_bytes\": 1048576,\r\n    \"storage_quota_bytes\": 104857600,\r\n    \"domains\": [\r\n      {\"id\": 1, \"domain\": \"secret.monentreprise.com\", \"url\": \"https:\/\/secret.monentreprise.com\"}\r\n    ],\r\n    \"stats\": {\r\n      \"total\": 42,\r\n      \"pending\": 10,\r\n      \"viewed\": 28,\r\n      \"expired\": 4\r\n    }\r\n  }\r\n}<\/code><\/pre>\n<hr \/>\n<h2>Exemple complet en PHP<\/h2>\n<pre><code>&lt;?php\r\n$token = 'votre-token-uuid';\r\n\r\n$curl = curl_init('https:\/\/seecret.it\/api');\r\ncurl_setopt_array($curl, [\r\n    CURLOPT_RETURNTRANSFER =&gt; true,\r\n    CURLOPT_POST           =&gt; true,\r\n    CURLOPT_POSTFIELDS     =&gt; http_build_query([\r\n        'operation'       =&gt; 'create_seecret',\r\n        'seecret'         =&gt; 'Mon mot de passe super secret',\r\n        'lang'            =&gt; 'fr',\r\n        'expiration_date' =&gt; '2026-05-31',\r\n        'number_view'     =&gt; 1,\r\n    ]),\r\n    CURLOPT_HTTPHEADER =&gt; [\r\n        'Authorization: Bearer ' . $token,\r\n        'Content-Type: application\/x-www-form-urlencoded',\r\n    ],\r\n]);\r\n\r\n$response = json_decode(curl_exec($curl), true);\r\ncurl_close($curl);\r\n\r\necho $response['data']['url'];\r\n\/\/ https:\/\/seecret.it\/_abc123#cleDecryptage<\/code><\/pre>\n<hr \/>\n<h2>Codes de r\u00e9ponse<\/h2>\n<table>\n<thead>\n<tr>\n<th>Code<\/th>\n<th>Signification<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>200<\/code><\/td>\n<td>Succ\u00e8s<\/td>\n<\/tr>\n<tr>\n<td><code>400<\/code><\/td>\n<td>Param\u00e8tre manquant ou invalide<\/td>\n<\/tr>\n<tr>\n<td><code>401<\/code><\/td>\n<td>Token manquant, invalide ou abonnement inactif<\/td>\n<\/tr>\n<tr>\n<td><code>403<\/code><\/td>\n<td>Secret introuvable ou acc\u00e8s refus\u00e9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<p><strong>L&#8217;API Seecret.it est r\u00e9serv\u00e9e aux abonn\u00e9s actifs.<\/strong> Vous pouvez retrouver votre token dans votre espace compte. Pour toute question, contactez le support depuis votre espace personnel.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;API Seecret.it vient d&#8217;\u00eatre enrichie de nouvelles op\u00e9rations et param\u00e8tres pour offrir aux d\u00e9veloppeurs un contr\u00f4le total sur la cr\u00e9ation, la gestion et la suppression de secrets chiffr\u00e9s. Voici un tour complet de tout ce qui est d\u00e9sormais disponible. Authentification Toutes les requ\u00eates \u00e0 l&#8217;API n\u00e9cessitent un token Bearer plac\u00e9 dans le header Authorization. Ce&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1166,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"none","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":""},"categories":[16],"tags":[248,252,253,254,251,192,255,17,250,249,51,198],"class_list":["post-1162","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seecret-it","tag-api","tag-chiffrement","tag-developpeur","tag-documentation","tag-json","tag-lien-ephemere","tag-mise-a-jour","tag-partage-securise","tag-php","tag-rest-api","tag-seecret-it","tag-zero-knowledge"," c-blog-1-item  nt-post-class"],"_links":{"self":[{"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/posts\/1162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/comments?post=1162"}],"version-history":[{"count":2,"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/posts\/1162\/revisions"}],"predecessor-version":[{"id":1167,"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/posts\/1162\/revisions\/1167"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/media\/1166"}],"wp:attachment":[{"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/media?parent=1162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/categories?post=1162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/seecret.it\/blog\/wp-json\/wp\/v2\/tags?post=1162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}