API संदर्भ
अपने अनुप्रयोगों में एनोनिमाइजेशन एकीकृत करें
प्रोग्रामेटिक PII पहचान और एनोनिमाइजेशन के लिए पूर्ण REST API।
बेस URL
https://anonymize.today/apiसभी API एंडपॉइंट इस बेस URL के सापेक्ष हैं। उदाहरण के लिए, विश्लेषण एंडपॉइंट है https://anonymize.today/api/presidio/analyze.
प्रमाणीकरण
Bearer टोकन का उपयोग करके API अनुरोधों को प्रमाणित करें:
Authorization: Bearer YOUR_API_TOKENAPI टोकन प्राप्त करना
- अपने anonymize.today खाते में साइन इन करें
- सेटिंग्स → खाता → API टोकन पर जाएं
- नया टोकन उत्पन्न करें पर क्लिक करें
- अपने टोकन को कॉपी करें और सुरक्षित रूप से स्टोर करें (यह फिर से नहीं दिखाया जाएगा)
सुरक्षा नोट
कभी भी अपने API टोकन को क्लाइंट-साइड कोड या सार्वजनिक रिपॉजिटरी में उजागर न करें। पर्यावरण चर और सर्वर-साइड अनुरोधों का उपयोग करें।
अनुरोधों में टोकन
TypeScript
const response = await fetch('https://anonymize.today/api/presidio/analyze', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.ANONYMIZE_API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ text, entities }),
});Python
import os
import requests
headers = {
"Authorization": f"Bearer {os.environ['ANONYMIZE_API_TOKEN']}",
"Content-Type": "application/json"
}
response = requests.post(
"https://anonymize.today/api/presidio/analyze",
headers=headers,
json={"text": text, "entities": entities}
)cURL
curl -X POST https://anonymize.today/api/presidio/analyze \
-H "Authorization: Bearer $ANONYMIZE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"text": "John Doe works at Acme Corp", "entities": ["PERSON", "ORGANIZATION"]}'रेट लिमिट्स
| एंडपॉइंट प्रकार | रेट लिमिट | बर्स्ट अनुमति: 10 अनुरोध |
|---|---|---|
| Authentication | 3 requests/second | 5 requests |
| Analysis & Anonymization | 30 requests/second | 50 requests |
| Presets & Settings | 10 requests/second | 20 requests |
जब रेट लिमिट किया जाता है, तो API 429 बहुत सारे अनुरोधों के साथ एक Retry-After हेडर लौटाता है जो बताता है कि आप कब पुनः प्रयास कर सकते हैं।
कोर एंडपॉइंट्स
पाठ का विश्लेषण करें
पाठ में PII संस्थाओं का पता लगाएं। पता की गई संस्थाओं के स्थान और प्रकार लौटाता है।
पाठ का अनामिकरण करें
विभिन्न ऑपरेटरों का उपयोग करके पता की गई PII संस्थाओं का अनामिकरण करें।
पाठ का डीनामिकरण करें
एक ही एन्क्रिप्शन कुंजी का उपयोग करके एन्क्रिप्टेड संस्थाओं को उनके मूल मानों में पुनर्स्थापित करें।
अनामिकरण ऑपरेटर
| ऑपरेटर | विवरण | वापस लाने योग्य | उदाहरण |
|---|---|---|---|
| replace | प्लेसहोल्डर के साथ बदलें | No | John → [PERSON] |
| mask | अक्षरों को आंशिक रूप से मास्क करें | No | john@email.com → j***@email.com |
| redact | पूर्ण रूप से हटा दें | No | John → (empty) |
| hash | एक-तरफा SHA-256 हैश | No | John → a3f2b1c4... |
| encrypt | AES-256-GCM एन्क्रिप्शन | Yes | John → [ENC:...] |
ऑपरेटर कॉन्फ़िगरेशन
// Replace operator
{ "type": "replace", "new_value": "[PERSON]" }
// Mask operator
{
"type": "mask",
"masking_char": "*",
"chars_to_mask": 5,
"from_end": false
}
// Hash operator
{ "type": "hash", "hash_type": "sha256" }
// Encrypt operator (requires encryption key in user settings)
{ "type": "encrypt" }
// Redact operator
{ "type": "redact" }प्रीसेट API
संस्थान प्रकार
anonymize.today 10 श्रेणियों में 256 संस्थान प्रकारों का समर्थन करता है:
Personal
PERSON, EMAIL_ADDRESS, PHONE_NUMBER
Financial
CREDIT_CARD, IBAN_CODE, SWIFT_CODE, CRYPTO
Location
LOCATION, ADDRESS, COORDINATES
Government
SSN, PASSPORT, DRIVER_LICENSE, NATIONAL_ID
Contact
URL, DOMAIN_NAME
Technical
IP_ADDRESS, MAC_ADDRESS
Temporal
DATE_TIME, AGE
Organizational
ORGANIZATION, JOB_TITLE
Medical
MEDICAL_LICENSE, HEALTH_ID
Custom
User-defined patterns
प्रीसेट दस्तावेज़ में संस्थान प्रकारों की पूरी सूची देखें। Presets documentation.
समर्थित भाषाएँ
API PII पहचान के लिए 27 भाषाओं का समर्थन करता है:
| कोड | भाषा | इंजन |
|---|---|---|
| en | English | spaCy |
| de | German | spaCy |
| es | Spanish | spaCy |
| fr | French | spaCy |
| it | Italian | spaCy |
| pt | Portuguese | spaCy |
| nl | Dutch | spaCy |
| pl | Polish | spaCy |
| ru | Russian | spaCy |
| ja | Japanese | spaCy |
| zh | Chinese | spaCy |
| ko | Korean | spaCy |
| ar | Arabic | Transformer |
| hi | Hindi | Transformer |
| tr | Turkish | Transformer |
अतिरिक्त भाषाएँ: रोमानियाई, ग्रीक, क्रोएशियाई, स्लोवेनियाई, मैसेडोनियन, स्वीडिश, डेनिश, नॉर्वेजियन, फिनिश, यूक्रेनी, लिथुआनियाई, कैटलन
त्रुटि हैंडलिंग
मानक HTTP स्थिति कोड:
| स्थिति | अर्थ | विवरण |
|---|---|---|
| 200 | OK | Request succeeded |
| 201 | Created | Resource created successfully |
| 400 | Bad Request | 400 - खराब अनुरोध (अमान्य पैरामीटर) |
| 401 | Unauthorized | 401 - अनधिकृत (अमान्य या अनुपस्थित टोकन) |
| 402 | Payment Required | Insufficient tokens |
| 403 | Forbidden | Access denied to resource |
| 404 | Not Found | Resource not found |
| 429 | Too Many Requests | 429 - दर सीमित (बहुत अधिक अनुरोध) |
| 500 | Internal Error | 500 - सर्वर त्रुटि (समर्थन से संपर्क करें) |
त्रुटि प्रतिक्रिया प्रारूप
{
"error": {
"code": "INSUFFICIENT_TOKENS",
"message": "You need 5 tokens but only have 2 remaining",
"details": {
"required": 5,
"available": 2
}
}
}पूर्ण उदाहरण
TypeScript/Node.js
import fetch from 'node-fetch';
const API_BASE = 'https://anonymize.today/api';
const API_TOKEN = process.env.ANONYMIZE_API_TOKEN;
async function analyzeAndAnonymize(text: string) {
// Step 1: Analyze
const analyzeResponse = await fetch(`${API_BASE}/presidio/analyze`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text,
entities: ['PERSON', 'EMAIL_ADDRESS', 'PHONE_NUMBER'],
language: 'en',
}),
});
const { results } = await analyzeResponse.json();
if (results.length === 0) {
return { text, anonymized: false };
}
// Step 2: Anonymize
const anonymizeResponse = await fetch(`${API_BASE}/presidio/anonymize`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text,
analyzer_results: results,
anonymizers: {
DEFAULT: { type: 'replace', new_value: '[REDACTED]' },
},
}),
});
return anonymizeResponse.json();
}
// Usage
const result = await analyzeAndAnonymize('Contact John Doe at john@example.com');
console.log(result.text); // "Contact [REDACTED] at [REDACTED]"
Python
import os
import requests
API_BASE = "https://anonymize.today/api"
API_TOKEN = os.environ["ANONYMIZE_API_TOKEN"]
def analyze_and_anonymize(text: str) -> dict:
headers = {
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json"
}
# Step 1: Analyze
analyze_response = requests.post(
f"{API_BASE}/presidio/analyze",
headers=headers,
json={
"text": text,
"entities": ["PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER"],
"language": "en"
}
)
results = analyze_response.json()["results"]
if not results:
return {"text": text, "anonymized": False}
# Step 2: Anonymize
anonymize_response = requests.post(
f"{API_BASE}/presidio/anonymize",
headers=headers,
json={
"text": text,
"analyzer_results": results,
"anonymizers": {
"DEFAULT": {"type": "replace", "new_value": "[REDACTED]"}
}
}
)
return anonymize_response.json()
# Usage
result = analyze_and_anonymize("Contact John Doe at john@example.com")
print(result["text"]) # "Contact [REDACTED] at [REDACTED]"
Related Documentation
अंतिम अपडेट: मार्च 2026