# Контур.Фокус API: Проверить статус самозанятого

Сценарий из mcp-everything. Актуально на 2026-10-25.

Асинхронная проверка физлица на НПД перед выплатой.

1. Зарегистрируй задачу: GET /api3/smzSendToCheck?innfls=... (до 100 ИНН через запятую) — в ответе `taskId`.
2. Проверяй результат: GET /api3/smzGetStatus?guid={taskId} — `taskStatus`, затем `smzStatusResult[].isSmz` и `history`.

```bash
curl "https://focus-api.kontur.ru/api3/smzSendToCheck?key=$FOCUS_KEY&innfls=$INNFL"

curl "https://focus-api.kontur.ru/api3/smzGetStatus?key=$FOCUS_KEY&guid=$TASK_ID"
```

## Базовые URL

- Боевой: `https://focus-api.kontur.ru`

## Авторизация

Тип: API-ключ

Ключ доступа передаётся параметром `key` в строке запроса. Тестовый ключ выдают по заявке: `https://focus.kontur.ru/site/api/order-api`. Для ключей с лимитом больше 100 000 компаний или запросов обязателен второй фактор: ограничение по IP-диапазонам или подпись каждого запроса сертификатом (настраивает техподдержка, focus-api@kontur.ru).

## Методы сценария

### GET /api3/smzSendToCheck — Задача на проверку самозанятого

В ответе `taskId` (GUID).

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2FsmzSendToCheck

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `key` | query | string | да | Ключ доступа |
| `innfls` | query | array | да | ИНН физлиц, до 100 через запятую |
| `xml` | query | boolean | нет | Ответ в XML |

### GET /api3/smzGetStatus — Результат проверки самозанятого

В ответе: `taskStatus`, `smzStatusResult[]` (`innfl`, `isSmz`, `history`).

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2FsmzGetStatus

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `key` | query | string | да | Ключ доступа |
| `guid` | query | string | да | taskId из smzSendToCheck |
| `xml` | query | boolean | нет | Ответ в XML |

## Нюансы

- Большинство методов принимают ИНН или ОГРН и до 100 значений через запятую; ответ — массив по каждой компании.
- Формат по умолчанию JSON; `xml=true` переключает на XML (методы наблюдения — только JSON).
- `focusHref` ведёт в веб-карточку Фокуса — для неё нужна подписка на сервис.
- Методы `/api3/analytics` и `/api3/buh` устарели: используйте группу новых аналитических методов и `/api3/accountingReports`.
- Старое наблюдение (`/api3/monList`, `/api3/req/mon`, `/api3/egrDetails/mon`) поддерживается, но рекомендуется NEW Наблюдение (`monitoringList`, `monitoringGetStates`, `monitoringGetChanges`).
- Изменения в NEW Наблюдении хранятся 90 дней; `changeId` растёт, но не обязательно подряд.
- Самозанятые: лимит считается по уникальным ИНН в сутки (сброс в 00:00 UTC); с 21:00 до 00:00 МСК возможны техработы.
- Есть игровой стенд с формами методов (например, `https://focus-api.kontur.ru/api3/req/userform`).

## Другие сценарии

- [Заполнить реквизиты контрагента по ИНН](https://mcp-everything.ru/integrations/kontur-focus/scenarios/zapolnit-rekvizity-kontragenta-po-inn.md)
- [Найти компанию по названию](https://mcp-everything.ru/integrations/kontur-focus/scenarios/nayti-kompaniyu-po-nazvaniyu.md)
- [Проверить надёжность контрагента перед сделкой](https://mcp-everything.ru/integrations/kontur-focus/scenarios/proverit-nadezhnost-kontragenta-pered.md)
- [Проверить пакет контрагентов](https://mcp-everything.ru/integrations/kontur-focus/scenarios/proverit-paket-kontragentov.md)
- [Отслеживать изменения у контрагентов](https://mcp-everything.ru/integrations/kontur-focus/scenarios/otslezhivat-izmeneniya-u-kontragentov.md)

---

Если этого недостаточно — официальная документация: https://developer.kontur.ru/doc/focus-v2
Вся интеграция одним документом: https://mcp-everything.ru/integrations/kontur-focus.md
