> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synopsisai.ru/llms.txt
> Use this file to discover all available pages before exploring further.

# Запустить деперсонализацию текста

> Создает задачу для деперсонализации входного текста с заданными параметрами

# Деперсонализация текста

Создает задачу для деперсонализации входного текста с заданными параметрами.

<ParamField body="input" type="string">
  Текст для деперсонализации.

  *`Обязательно указать либо input, либо sourceUri`*
</ParamField>

<ParamField body="sourceUri" type="string">
  URI источника для обработки существующего задания (используется либо `input`, либо `sourceUri`)

  Пример: `3f4991f2-3b5b-461c-b35f-9f0bb0612503`
</ParamField>

<ParamField body="webhookUrl" type="string">
  URL для отправки результатов

  Пример: `https://example.com/webhook`
</ParamField>

<ParamField body="depersonalizationMode" default="blind" type="string">
  Режим деперсонализации

  Возможные значения: `blind`, `reversible`, `randomize`
</ParamField>

<ParamField body="languageIn" default="ru" type="string">
  Язык входного текста в формате ISO 639-1 (например: “ru”, “en”, “de”)
</ParamField>

<ParamField body="languageOut" default="ru" type="string">
  Язык выходного текста в формате ISO 639-1 (например: “ru”, “en”, “de”)
</ParamField>

<ParamField body="filename" type="string">
  Служебное название блока текста или файла для обработки

  Пример: `Совещание руководства компании`
</ParamField>

## Режимы деперсонализации

<CardGroup cols={3}>
  <Card title="blind" icon="eye-slash">
    По умолчанию: "слепая" деперсонализация
  </Card>

  <Card title="reversible" icon="rotate">
    Обратимая деперсонализация
  </Card>

  <Card title="randomize" icon="shuffle">
    Рандомизация персональных данных
  </Card>
</CardGroup>

## Примеры запросов

<CodeGroup>
  ```json Базовый пример theme={null}
  {
    "input": "Иванов Иван Иванович работает в компании ООО 'Ромашка' по адресу г. Москва, ул. Тверская, д. 1",
    "depersonalizationMode": "randomize",
    "languageIn": "ru",
    "languageOut": "ru"
  }
  ```

  ```json С webhook theme={null}
  {
    "input": "Текст с персональными данными",
    "webhookUrl": "https://example.com/webhook",
    "depersonalizationMode": "reversible",
    "filename": "confidential_document.txt"
  }
  ```

  ```json С sourceUri theme={null}
  {
    "sourceUri": "3f4991f2-3b5b-461c-b35f-9f0bb0612503",
    "webhookUrl": "https://example.com/webhook",
    "depersonalizationMode": "blind"
  }
  ```
</CodeGroup>

<ResponseField name="synopsis_id" type="string">
  Идентификатор созданного задания
</ResponseField>

<ResponseField name="task" type="string">
  Ссылка для проверки статуса задания
</ResponseField>

<ResponseExample>
  ```json 200 - Успешное создание задания theme={null}
  {
    "synopsis_id": "3f4991f2-3b5b-461c-b35f-9f0bb0612503",
    "task": "https://api.example.com/api/v1/prediction/3f4991f2-3b5b-461c-b35f-9f0bb0612503"
  }
  ```
</ResponseExample>

## Проверка статуса задания

После создания задания деперсонализации можно проверить его статус, используя полученный `synopsis_id`:

<CodeGroup>
  ```bash cURL theme={null}
  GET /api/v1/prediction/{synopsis_id}
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(`https://your-api-domain.com/api/v1/prediction/${synopsisId}`, {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer YOUR_API_TOKEN'
    }
  });
  ```
</CodeGroup>

## Примеры кода

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://your-api-domain.com/api/v1/depersonalization" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer YOUR_API_TOKEN" \
    -d '{
      "input": "Иванов Иван работает в ООО Ромашка",
      "depersonalizationMode": "randomize",
      "webhookUrl": "https://example.com/webhook"
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://your-api-domain.com/api/v1/depersonalization', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer YOUR_API_TOKEN'
    },
    body: JSON.stringify({
      input: 'Текст с персональными данными',
      depersonalizationMode: 'reversible',
      languageIn: 'ru',
      languageOut: 'ru'
    })
  });

  const result = await response.json();
  console.log(result.synopsis_id);
  ```

  ```python Python theme={null}
  import requests

  url = "https://your-api-domain.com/api/v1/depersonalization"
  headers = {
      "Content-Type": "application/json",
      "Authorization": "Bearer YOUR_API_TOKEN"
  }
  data = {
      "input": "Персональные данные для деперсонализации",
      "depersonalizationMode": "blind",
      "filename": "document.txt"
  }

  response = requests.post(url, json=data, headers=headers)
  result = response.json()
  print(f"Task ID: {result['synopsis_id']}")
  ```
</CodeGroup>

<Info>
  После создания задания используйте `synopsis_id` для проверки статуса обработки через `GET /prediction/{taskId}`.
</Info>

<Warning>
  Обязательно указать либо параметр `input` с текстом для деперсонализации, либо `sourceUri` с идентификатором существующего задания.
</Warning>
