API REST mạnh mẽ

Tích hợp phát hiện và ẩn danh PII vào bất kỳ ứng dụng nào. Điểm cuối đơn giản, tài liệu toàn diện, sẵn sàng cho doanh nghiệp.

Khởi động Nhanh

Bắt đầu với API trong vài phút

Cài đặt SDK của chúng tôi và thực hiện cuộc gọi API đầu tiên của bạn

  • Cài đặt SDK cho ngôn ngữ của bạn
  • Lấy API token từ bảng điều khiển
  • Thực hiện yêu cầu ẩn danh đầu tiên của bạn
  • Tích hợp vào ứng dụng của bạn
// Analyze text for PII
const response = await fetch('https://anonym.legal/api/presidio/analyze', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    text: 'Contact John Smith at john.smith@company.com',
    language: 'en'
  })
});

const results = await response.json();
// Returns detected entities with positions and confidence scores

Các Điểm cuối có sẵn

POST/api/presidio/analyze

Analyze text to detect PII entities. Returns entity types, positions, and confidence scores.

View documentation →
POST/api/presidio/anonymize

Anonymize detected PII using your chosen method. Returns anonymized text.

View documentation →
POST/api/presidio/batch

Process multiple documents in a single request. Enterprise plans support up to 100 documents.

View documentation →
GET/api/health

Check API status and service health. No authentication required.

Public endpoint

Tính năng API

Xác thực JWT

Xác thực dựa trên token an toàn cho tất cả các cuộc gọi API

Giới hạn Tốc độ

Giới hạn tốc độ công bằng với tiêu đề rõ ràng. Giới hạn cao hơn cho doanh nghiệp

Ví dụ Mã

Ví dụ sẵn sàng sử dụng bằng nhiều ngôn ngữ lập trình

Endpoint Reference

Complete REST API documentation. All endpoints require Bearer token authentication unless noted.

Authentication

All API requests require a Bearer token in the Authorization header. Get your API token from Settings → API Access in the web app.

Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json

Endpoints

MethodEndpointDescription
POST/api/presidio/analyzeDetect PII entities in text
POST/api/presidio/anonymizeAnonymize detected PII entities
POST/api/presidio/batchProcess multiple files in one request
GET/api/presidio/entitiesList supported entity types
GET/api/healthService health (no auth required)
GET/api/presetsList saved presets
POST/api/presetsCreate a new preset
PUT/api/presets/{id}Update a preset
DELETE/api/presets/{id}Delete a preset
GET/api/encryption-keysList encryption key metadata
GET/api/encryption-keys/{id}Get key details (add ?includeKey=true for value)

Request & Response Schemas

POST /api/presidio/analyze — Request

{
  "text": "John Smith lives at 123 Main St. SSN: 123-45-6789",
  "language": "en",
  "entities": ["PERSON", "LOCATION", "US_SSN"],
  "score_threshold": 0.5,
  "ad_hoc_recognizers": [
    {
      "entity_type": "EMPLOYEE_ID",
      "patterns": [{ "regex": "EMP-[0-9]{6}", "score": 0.9 }]
    }
  ]
}

POST /api/presidio/analyze — Response

{
  "entities": [
    { "entity_type": "PERSON", "text": "John Smith", "start": 0, "end": 10, "score": 0.95 },
    { "entity_type": "LOCATION", "text": "123 Main St", "start": 20, "end": 31, "score": 0.87 },
    { "entity_type": "US_SSN", "text": "123-45-6789", "start": 38, "end": 49, "score": 0.99 }
  ],
  "tokens_charged": 3,
  "language": "en"
}

POST /api/presidio/anonymize — Request with Operators

{
  "text": "John Smith, SSN 123-45-6789, email john@example.com",
  "language": "en",
  "operators": {
    "PERSON": { "type": "replace", "new_value": "<NAME>" },
    "US_SSN": { "type": "mask", "chars_to_mask": 5, "from_end": false },
    "EMAIL_ADDRESS": { "type": "hash", "hash_type": "SHA256" }
  }
}

POST /api/presidio/anonymize — Response

{
  "anonymized_text": "<NAME>, SSN ***-**-6789, email a3f2b8c1d4e5f6...",
  "entities_found": 3,
  "tokens_charged": 5,
  "replacements": [
    { "entity_type": "PERSON", "original": "John Smith", "replacement": "<NAME>" },
    { "entity_type": "US_SSN", "original": "123-45-6789", "replacement": "***-**-6789" },
    { "entity_type": "EMAIL_ADDRESS", "original": "john@example.com", "replacement": "a3f2b8c1..." }
  ]
}

Operator Reference

Configure per-entity anonymization using the operators field. Each entity type can use a different operator.

OperatorDescriptionParametersExample Output
replaceReplace with custom value or tokennew_value (string, max 100 chars)<PERSON_1>
redactPermanently removeNone[REDACTED]
hashOne-way hashhash_type: SHA256 | SHA512a3f2b8c1...
encryptAES-256-GCM reversible encryptionkey (16-32 chars)ENC:base64...
maskPartial character maskingchars_to_mask, masking_char, from_endJohn ****
keepKeep original (skip anonymization)NoneJohn Smith

Rate Limits & Token Costs

PlanMonthly TokensAPI Access
Free200REST API
Basic5,000REST API
Pro25,000REST API + MCP Server
Business100,000REST API + MCP Server + Priority

Error Codes

CodeDescriptionResponse Format
400Invalid request (missing text, bad parameters){ "error": "Text is required" }
401Missing or invalid API token{ "error": "Unauthorized" }
403Feature not available on current plan{ "error": "Upgrade required" }
429Token balance exhausted or rate limited{ "error": "Insufficient tokens", "details": {...} }
500Internal server error{ "error": "Internal server error" }

Bắt đầu Xây dựng Ngay Hôm Nay

300 cuộc gọi API miễn phí mỗi tháng. Không cần thẻ tín dụng.