common.skipToContent

API Референца

Интегрирајте анонизација во вашите апликации

Комплетен REST API за програмастко откривање и анонизација на PII.


Основен URL

https://anonymize.today/api

Сите API крајни точки се релативни на овој основен URL. На пример, крајната точка за анализа е https://anonymize.today/api/presidio/analyze.


Автентикација

Автентирајте ги API барањата користејќи Bearer токени:

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 поддржува 256 типови на ентитети во 10 категории:

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 поддржува 27 јазици за PII препознавање:

КодЈазикМашина
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