API des Demandes de Secrets
Créez, gérez et suivez les demandes de secrets pour solliciter des informations sécurisées de tiers en utilisant nos SDK officiels.
🔐 Aperçu
L'API des Demandes de Secrets vous permet de créer des demandes qui sollicitent le partage sécurisé de secrets. Les destinataires peuvent répondre à vos demandes via une interface web sécurisée, et les secrets partagés seront chiffrés en utilisant l'architecture Zero Knowledge.
SDK Officiels :
- Outil CLI C# - Interface en ligne de commande multiplateforme
- SDK JavaScript - Pour Node.js et applications web modernes
- CDN JavaScript - Intégration simple dans le navigateur
- SDK Python - Client Python asynchrone
📋 Lister les Demandes de Secrets
Obtenez les demandes de secrets de votre entreprise avec pagination automatique.
Utilisation SDK
sharokey list-requests --status active --limit 10const requests = await client.listSecretRequests({ status: 'active', limit: 10 });const requests = await Sharokey.listRequests({ status: 'active', limit: 10 });requests = await client.list_requests(status='active', limit=10)Format de Réponse
{
"success": true,
"message": "Demandes de secrets récupérées avec succès",
"data": [
{
"id": 123,
"token": "req_ABC123XY",
"message": "Merci de partager les identifiants de base de données",
"description": "Accès DB production nécessaire",
"secret_expiration_hours": 24,
"request_expiration_hours": 48,
"maximum_views": 1,
"email_to": "[email protected]",
"email_reply": "[email protected]",
"creator": "[email protected]",
"secret_expiration": "2025-08-12T18:52:37.000000Z",
"request_expiration": "2025-08-11T18:52:37.000000Z",
"status": "active",
"url": "https://passlink.domaindev/request/req_ABC123XY",
"created_at": "2025-08-10T18:52:37.000000Z",
"updated_at": "2025-08-10T18:52:37.000000Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 50,
"total": 25,
"last_page": 1
}
}✨ Créer une Demande de Secret
Créez une nouvelle demande de secret pour solliciter des informations sécurisées d'autrui.
Utilisation SDK
sharokey create-request --message "Merci de partager les identifiants" --description "Accès DB" --secret-hours 24 --request-hours 48 --max-views 1 --email-to "[email protected]"const request = await client.createSecretRequest({
message: "Merci de partager les identifiants de base de données",
description: "Accès DB production nécessaire",
secretExpirationHours: 24,
requestExpirationHours: 48,
maximumViews: 1,
emailTo: "[email protected]",
emailReply: "[email protected]"
});const request = await Sharokey.createRequest({
message: "Merci de partager les identifiants de base de données",
description: "Accès DB production nécessaire",
secretExpirationHours: 24,
requestExpirationHours: 48,
maximumViews: 1,
emailTo: "[email protected]"
});request = await client.create_request(
message="Merci de partager les identifiants de base de données",
description="Accès DB production nécessaire",
secret_expiration_hours=24,
request_expiration_hours=48,
maximum_views=1,
email_to="[email protected]",
email_reply="[email protected]"
)Format de Réponse
{
"success": true,
"message": "Demande de secret créée avec succès",
"data": {
"id": 123,
"token": "req_ABC123XY",
"message": "Merci de partager les identifiants de base de données",
"description": "Accès DB production nécessaire",
"secret_expiration_hours": 24,
"request_expiration_hours": 48,
"maximum_views": 1,
"email_to": "[email protected]",
"email_reply": "[email protected]",
"creator": "[email protected]",
"secret_expiration": "2025-08-12T18:52:37.000000Z",
"request_expiration": "2025-08-11T18:52:37.000000Z",
"status": "active",
"url": "https://passlink.domaindev/request/req_ABC123XY",
"created_at": "2025-08-10T18:52:37.000000Z"
}
}👁️ Obtenir les Détails d'une Demande de Secret
Récupérez les détails d'une demande de secret spécifique.
Utilisation SDK
sharokey get-request 123const request = await client.getSecretRequest(123);const request = await Sharokey.getRequest(123);request = await client.get_request(123)Format de Réponse
{
"success": true,
"data": {
"id": 123,
"token": "req_ABC123XY",
"message": "Merci de partager les identifiants de base de données",
"description": "Accès DB production nécessaire",
"secret_expiration_hours": 24,
"request_expiration_hours": 48,
"maximum_views": 1,
"email_to": "[email protected]",
"email_reply": "[email protected]",
"creator": "[email protected]",
"secret_expiration": "2025-08-12T18:52:37.000000Z",
"request_expiration": "2025-08-11T18:52:37.000000Z",
"status": "active",
"url": "https://passlink.domaindev/request/req_ABC123XY",
"created_at": "2025-08-10T18:52:37.000000Z",
"updated_at": "2025-08-10T18:52:37.000000Z"
}
}🗑️ Supprimer une Demande de Secret
Supprimez une demande de secret et invalidez son URL publique.
Utilisation SDK
sharokey delete-request 123await client.deleteSecretRequest(123);await Sharokey.deleteRequest(123);await client.delete_request(123)Format de Réponse
{
"success": true,
"message": "Demande de secret supprimée avec succès",
"data": null
}📊 Statistiques des Demandes de Secret
Obtenez les statistiques d'utilisation des demandes de secret de votre entreprise.
Utilisation SDK
sharokey request-statsconst stats = await client.getSecretRequestStatistics();const stats = await Sharokey.requestStats();stats = await client.request_stats()Format de Réponse
{
"success": true,
"message": "Statistiques des demandes de secret récupérées avec succès",
"data": {
"total_requests": 156,
"active_requests": 23,
"expired_requests": 133,
"requests_created_today": 5,
"requests_created_this_week": 18,
"requests_created_this_month": 42,
"average_response_time_hours": 6.4
}
}🚨 Réponses d'Erreur
Tous les SDK gèrent ces erreurs automatiquement et fournissent des objets d'erreur structurés.
Erreurs d'Authentification
{
"success": false,
"error": {
"code": "AUTHENTICATION_ERROR",
"message": "Le token est invalide ou expiré"
}
}Erreurs de Validation
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Le champ secret_expiration_hours doit être entre 1 et 1000",
"details": {
"secret_expiration_hours": ["Doit être entre 1 et 1000"],
"maximum_views": ["Doit être entre 1 et 10"],
"email_to": ["Doit être une adresse email valide"]
}
}
}Quota Dépassé
{
"success": false,
"error": {
"code": "QUOTA_EXCEEDED",
"message": "Vous avez atteint le nombre maximum de demandes de secret autorisées pour votre plan actuel."
}
}Non Trouvé
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Demande de secret non trouvée ou expirée"
}
}Permission Refusée
{
"success": false,
"error": {
"code": "PERMISSION_DENIED",
"message": "Permissions insuffisantes pour créer des demandes de secret"
}
}📝 Paramètres de Demande
Création de Demande de Secret
| Paramètre | Type | Requis | Description | Validation |
|---|---|---|---|---|
message | string | Non | Message affiché au destinataire | Max 255 caractères |
description | string | Non | Description interne pour votre référence | Max 255 caractères |
secret_expiration_hours | integer | Non | Heures avant expiration du secret partagé | 1-1000, défaut: 24 |
request_expiration_hours | integer | Non | Heures avant expiration de la demande | 1-1000, défaut: 48 |
maximum_views | integer | Non | Vues maximum pour le secret partagé | 1-10, défaut: 1 |
email_to | string | Non | Adresse email pour envoyer la demande | Format email valide |
email_reply | string | Non | Email de réponse pour les notifications | Format email valide |
Paramètres de Filtrage
| Paramètre | Type | Description |
|---|---|---|
status | string | Filtrer par statut: active, expired |
creator | string | Filtrer par adresse email du créateur |
search | string | Rechercher dans les champs message et description |
limit | integer | Nombre de résultats par page (défaut: 50, max: 100) |
page | integer | Numéro de page pour la pagination |
🔐 Sécurité et Workflow
Comment Fonctionnent les Demandes de Secret
- Créer une Demande : Vous créez une demande de secret avec vos exigences
- Partager l'URL : Envoyez l'URL générée à votre contact (email optionnel)
- Réponse du Destinataire : Il visite l'URL et partage son secret de manière sécurisée
- Zero Knowledge : Leur secret est chiffré côté client avant soumission
- Notification : Vous recevez une notification quand le secret est partagé
- Accès Sécurisé : Accédez au secret partagé via votre tableau de bord
Fonctionnalités de Sécurité
- Architecture Zero Knowledge : Les secrets des destinataires sont chiffrés côté client
- Expiration Basée sur le Temps : Les demandes et les secrets résultants peuvent expirer
- Limites de Vues : Contrôlez combien de fois le secret partagé peut être consulté
- Notifications Email : Emails automatisés optionnels pour la livraison des demandes
- Piste d'Audit : Journalisation complète de la création et des réponses aux demandes
🔗 Documentation Associée
- Documentation CLI C# - Guide de l'interface en ligne de commande
- SDK JavaScript - Intégration navigateur et Node.js
- SDK Python - Client Python asynchrone
- API Secrets - Gestion standard des secrets
- Authentification - Gestion des tokens API
