common.skipToContent

API संदर्भ

अपने अनुप्रयोगों में एनोनिमाइजेशन एकीकृत करें

प्रोग्रामेटिक PII पहचान और एनोनिमाइजेशन के लिए पूर्ण REST API।


बेस URL

https://anonymize.today/api

सभी API एंडपॉइंट इस बेस URL के सापेक्ष हैं। उदाहरण के लिए, विश्लेषण एंडपॉइंट है https://anonymize.today/api/presidio/analyze.


प्रमाणीकरण

Bearer टोकन का उपयोग करके API अनुरोधों को प्रमाणित करें:

Authorization: Bearer YOUR_API_TOKEN

API टोकन प्राप्त करना

  1. अपने anonymize.today खाते में साइन इन करें
  2. सेटिंग्स → खाता → API टोकन पर जाएं
  3. नया टोकन उत्पन्न करें पर क्लिक करें
  4. अपने टोकन को कॉपी करें और सुरक्षित रूप से स्टोर करें (यह फिर से नहीं दिखाया जाएगा)

सुरक्षा नोट

कभी भी अपने 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 अनुरोध
Authentication3 requests/second5 requests
Analysis & Anonymization30 requests/second50 requests
Presets & Settings10 requests/second20 requests

जब रेट लिमिट किया जाता है, तो API 429 बहुत सारे अनुरोधों के साथ एक Retry-After हेडर लौटाता है जो बताता है कि आप कब पुनः प्रयास कर सकते हैं।


कोर एंडपॉइंट्स

पाठ का विश्लेषण करें

पाठ में PII संस्थाओं का पता लगाएं। पता की गई संस्थाओं के स्थान और प्रकार लौटाता है।

पाठ का अनामिकरण करें

विभिन्न ऑपरेटरों का उपयोग करके पता की गई PII संस्थाओं का अनामिकरण करें।

पाठ का डीनामिकरण करें

एक ही एन्क्रिप्शन कुंजी का उपयोग करके एन्क्रिप्टेड संस्थाओं को उनके मूल मानों में पुनर्स्थापित करें।


अनामिकरण ऑपरेटर

ऑपरेटरविवरणवापस लाने योग्यउदाहरण
replaceप्लेसहोल्डर के साथ बदलेंNoJohn → [PERSON]
maskअक्षरों को आंशिक रूप से मास्क करेंNojohn@email.com → j***@email.com
redactपूर्ण रूप से हटा देंNoJohn → (empty)
hashएक-तरफा SHA-256 हैशNoJohn → a3f2b1c4...
encryptAES-256-GCM एन्क्रिप्शनYesJohn → [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 भाषाओं का समर्थन करता है:

कोडभाषाइंजन
enEnglishspaCy
deGermanspaCy
esSpanishspaCy
frFrenchspaCy
itItalianspaCy
ptPortuguesespaCy
nlDutchspaCy
plPolishspaCy
ruRussianspaCy
jaJapanesespaCy
zhChinesespaCy
koKoreanspaCy
arArabicTransformer
hiHindiTransformer
trTurkishTransformer

अतिरिक्त भाषाएँ: रोमानियाई, ग्रीक, क्रोएशियाई, स्लोवेनियाई, मैसेडोनियन, स्वीडिश, डेनिश, नॉर्वेजियन, फिनिश, यूक्रेनी, लिथुआनियाई, कैटलन


त्रुटि हैंडलिंग

मानक HTTP स्थिति कोड:

स्थितिअर्थविवरण
200OKRequest succeeded
201CreatedResource created successfully
400Bad Request400 - खराब अनुरोध (अमान्य पैरामीटर)
401Unauthorized401 - अनधिकृत (अमान्य या अनुपस्थित टोकन)
402Payment RequiredInsufficient tokens
403ForbiddenAccess denied to resource
404Not FoundResource not found
429Too Many Requests429 - दर सीमित (बहुत अधिक अनुरोध)
500Internal Error500 - सर्वर त्रुटि (समर्थन से संपर्क करें)

त्रुटि प्रतिक्रिया प्रारूप

{
  "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