Провайдеры моделей следят за соблюдением правил использования и связывают каждый запрос с тем, кто его отправил. По умолчанию ProxyAPI сообщает провайдеру только идентификатор вашего аккаунта. Если кто-то из пользователей вашего приложения нарушит правила, жалоба или блокировка придёт на весь аккаунт, и понять, кто именно виноват, будет нельзя.
Чтобы этого избежать, передавайте в запросе идентификатор пользователя вашего приложения. Тогда провайдер увидит не только ваш аккаунт, но и конкретного пользователя, от которого пришёл запрос.
Используйте штатное поле того формата API, в котором вы отправляете запрос:
| Формат запроса | Поле |
|---|---|
| OpenAI Chat Completions, Responses, Images | safety_identifier (если его нет — user) |
| OpenAI Embeddings и остальные форматы OpenAI | user |
| Anthropic Messages | metadata.user_id |
Google Gemini (generateContent) | labels.safety_identifier |
Поле выбирается по формату запроса, а не по провайдеру: запрос в формате Chat Completions читает safety_identifier и тогда, когда его обслуживает модель другого разработчика.
- Только строчные латинские буквы, цифры,
_и-:^[a-z0-9_-]{1,30}$. - Не длиннее 30 символов.
- Значение передаётся как есть, без изменения регистра и обрезки.
Провайдер получит значение вида {ид_аккаунта}--{ваше_значение}. Например, для аккаунта 1842 и значения k3x9q2m7v5b8n1c4z6w0r2t7y9 провайдер получит 1842--k3x9q2m7v5b8n1c4z6w0r2t7y9.
Все поля-идентификаторы, которые вы передали (safety_identifier, user, metadata.user_id, labels.safety_identifier), провайдер получит уже в таком виде. Исходные значения без префикса провайдеру не уходят, а подменить идентификатор аккаунта через эти поля нельзя.
Не передавайте в поле персональные данные — email, телефон или имя. Используйте внутренний идентификатор пользователя или его хеш.
Запрос не отклоняется. Провайдер получит только идентификатор аккаунта, а в ответе появится заголовок:
X-ProxyAPI-Safety-Identifier: ignoredX-ProxyAPI-Safety-Identifier: ignored
Если поле не передано или равно null, заголовка нет.
curl "https://api.proxyapi.ru/v1/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <КЛЮЧ>" \ -d '{ "model": "openai/gpt-5-mini", "messages": [{"role": "user", "content": "Привет"}], "safety_identifier": "k3x9q2m7v5b8n1c4z6w0r2t7y9" }'curl "https://api.proxyapi.ru/v1/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <КЛЮЧ>" \ -d '{ "model": "openai/gpt-5-mini", "messages": [{"role": "user", "content": "Привет"}], "safety_identifier": "k3x9q2m7v5b8n1c4z6w0r2t7y9" }'
Стабильная версия Google API (/v1) не принимает поле labels, поэтому через неё идентификатор провайдеру не передаётся — ни ваш, ни идентификатор аккаунта. Используйте /v1beta или единый API.
Частые вопросы
Что будет, если значение не подходит под требования?
Запрос выполнится как обычно. Провайдер получит только идентификатор вашего аккаунта, а в ответе появится заголовок X-ProxyAPI-Safety-Identifier: ignored.
Можно ли передать email пользователя?
Нет. Email не проходит по формату, и передавать персональные данные провайдеру не нужно. Используйте внутренний идентификатор пользователя или его хеш.
Работает ли это с Google /v1?
Нет. Стабильная версия Google API не принимает поле labels, поэтому идентификатор туда не передаётся. Используйте /v1beta или единый API.
Последняя редакция: 28 октября 2026 г.