Command Palette
Search for a command to run...
brandfound. API
API for tracking brand mentions in AI assistants (ChatGPT, Gemini, Claude, Perplexity). Manage companies, products, competitors, queries, mentions, and analytics.
Base URL
https://app.brandfound.ai/api/v1Playground
Click in the request panel to open the interactive Playground. Pick an API key, set parameters, and send the request directly from the docs.
curl -H "Authorization: Bearer gfx_YOUR_API_KEY" \ https://app.brandfound.ai/api/v1/companies{ "success": true, "data": { "...": "..." }}{ "success": false, "error": { "code": "NOT_FOUND", "message": "Not found" }}120 / min60 / minUNAUTHORIZEDInvalid authorizationFORBIDDENInsufficient permissionsNOT_FOUNDResource not foundVALIDATION_ERRORValidation errorRATE_LIMIT_EXCEEDEDRate limit exceededINTERNAL_ERRORInternal errorFor AI assistants
Copy the API instructions and pass them to an AI assistant (ChatGPT, Claude, Gemini, etc.) — it will be able to compose requests to the brandfound. API for you. The API key is not included in the copied text.
Next to each method and section there is a button — it copies the description of a specific method or the whole category.
The API key is not included — paste it separately or use the Playground.
Authentication
All API requests require authorization. Create an API key in Settings → API keyssection. Keys have the prefix gfx_.
Pass the key in the Authorization header of each request.
The web app automatically uses the session-token cookie. No extra setup is required.
curl -X GET "https://app.brandfound.ai/api/v1/companies" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "comp_123", "name": "My company", "slug": "my-company" } ], "meta": { "total": 1, "limit": 20, "offset": 0, "hasMore": false }}Workspaces
Окружения (workspaces / teams). Один OAuth-токен умеет работать со всеми окружениями, к которым у user есть доступ (свой + ACCEPTED TeamMember). Активное окружение хранится в ApiKey.activeAccountId — переключение персистентно и видно всем MCP-клиентам этого ключа на следующем запросе. Доступ проверяется на каждом запросе: при потере членства middleware молча возвращается к accountId, выданному при OAuth, без 401. Побочный эффект переключения: preferredCompanyId сбрасывается, т.к. он привязан к старому окружению.
Список доступных окружений
/api/v1/workspacesВозвращает все workspaces (accountId), к которым у текущего user есть доступ: собственный + ACCEPTED TeamMember. Поле `isCurrent: true` помечает то окружение, на котором сейчас работает API key (с учётом activeAccountId override).
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/workspacescurl -X GET "https://app.brandfound.ai/api/v1/workspaces" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "workspaces": [ { "accountId": "example_accountId", "role": "owner", "ownerName": "example_ownerName", "ownerEmail": "example_ownerEmail", "companiesCount": 0, "isCurrent": true, "teamRoleName": "example_teamRoleName", "teamRoleKey": "example_teamRoleKey" } ], "currentAccountId": "example_currentAccountId", "tokenAccountId": "example_tokenAccountId", "activeAccountId": "example_activeAccountId" }}Successful response
Переключить активное окружение для текущего API key
/api/v1/workspaces/switchОбновляет ApiKey.activeAccountId. Эффект персистентный — применяется ко ВСЕМ следующим запросам этого ключа (в том числе из других MCP-клиентов). При accountId=null сбрасывает override и возвращает поведение к токеновскому accountId. Побочный эффект: preferredCompanyId сбрасывается в null (привязана к старому окружению). Только для аутентификации через API key.
Request body
accountIdstringrequiredUUID workspace для переключения. null = сбросить активный override и вернуться к accountId, выданному при OAuth.
Responses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED403application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/workspaces/switchcurl -X POST "https://app.brandfound.ai/api/v1/workspaces/switch" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "accountId": "7b2f1d4e-8c9a-4e5b-b6c2-3d7a1f8e9c4b"}'{ "success": true, "data": { "apiKeyId": "example_apiKeyId", "tokenAccountId": "example_tokenAccountId", "activeAccountId": "example_activeAccountId", "effectiveAccountId": "example_effectiveAccountId", "preferredCompanyIdReset": true }}Successful response
Companies
Управление компаниями
Список компаний
/api/v1/companiesВозвращает список компаний пользователя с продуктами, конкурентами и ключевыми словами.
Query parameters
offsetinteger= 0Смещение для пагинации
limitinteger= 20Количество записей на страницу
sortBystring= createdAtcreatedAtupdatedAtnamelastUsedAtsortOrderstring= descПорядок сортировки
ascdescsearchstringПоисковый запрос (case-insensitive)
categoryIdstring (uuid)Фильтр по категории
countrystringФильтр по стране
createdAtFromstring (date-time)Начало диапазона даты создания (ISO 8601)
createdAtTostring (date-time)Конец диапазона даты создания (ISO 8601)
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/companiescurl -X GET "https://app.brandfound.ai/api/v1/companies" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "clx1abc2d0001abcdef123456", "name": "Samsung", "description": "Samsung Electronics", "url": "https://samsung.com", "country": "South Korea", "categoryId": "cat-uuid-001", "lastUsedAt": "2026-04-06T10:00:00.000Z", "createdAt": "2026-01-15T08:00:00.000Z", "products": [ { "id": "prod-001", "name": "Galaxy S25" } ], "competitors": [ { "id": "comp-001", "name": "Apple" } ], "keywords": [], "category": { "id": "cat-uuid-001", "name": "Electronics" } } ], "meta": { "total": 1, "limit": 20, "offset": 0, "hasMore": false }}Successful response
Создать компанию
/api/v1/companiesСоздает новую компанию. Лимит зависит от тарифного плана.
Request body
namestringrequireddescriptionstringurlstringcategoryIdstringcountrystringsynonymsstring[]Синонимы/альтернативные названия (макс. 20)
Responses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED403application/jsonПревышен лимит компаний
PLAN_LIMIT_EXCEEDED/api/v1/companiescurl -X POST "https://app.brandfound.ai/api/v1/companies" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Samsung", "description": "Samsung Electronics — мировой лидер в области электроники", "url": "https://samsung.com", "country": "South Korea", "synonyms": [ "Samsung Electronics", "Самсунг" ]}'{ "success": true, "data": { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "name": "Samsung", "description": "Samsung Electronics — мировой лидер в области электроники", "url": "https://samsung.com", "categoryId": null, "country": "South Korea", "synonyms": [ "Samsung Electronics", "Самсунг" ], "isAutoGenerationEnabled": true, "lastUsedAt": null, "createdAt": "2026-04-07T12:00:00.000Z", "updatedAt": "2026-04-07T12:00:00.000Z" }}Successful response
Получить компанию
/api/v1/companies/{id}Возвращает полную информацию о компании, включая продукты, конкурентов и ключевые слова.
Query parameters
idstring (uuid)requiredID компании
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/companies/{id}curl -X GET "https://app.brandfound.ai/api/v1/companies/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "name": "Samsung", "description": "Samsung Electronics — мировой лидер в области электроники", "url": "https://samsung.com", "categoryId": null, "country": "South Korea", "synonyms": [ "Samsung Electronics", "Самсунг" ], "isAutoGenerationEnabled": true, "lastUsedAt": "2026-04-06T18:00:00.000Z", "createdAt": "2026-01-15T12:00:00.000Z", "updatedAt": "2026-04-06T18:00:00.000Z", "products": [ { "id": "prod-001", "name": "Galaxy S25", "description": "Flagship smartphone 2026", "url": "https://samsung.com/galaxy-s25", "keywords": [ { "id": "kw-001", "text": "galaxy s25" } ], "competitors": [ { "id": "comp-001", "name": "iPhone 16", "keywords": [ { "id": "kw-002", "text": "iphone 16" } ] } ] } ], "competitors": [ { "id": "comp-002", "name": "Apple", "url": "https://apple.com", "keywords": [ { "id": "kw-003", "text": "apple" } ] } ], "keywords": [ { "id": "kw-004", "text": "samsung" } ], "category": { "id": "cat-001", "name": "Электроника" } }}Successful response
Обновить компанию
/api/v1/companies/{id}Частичное обновление компании. Передавайте только изменяемые поля.
Query parameters
idstring (uuid)requiredID компании
Request body
namestringdescriptionstringurlstringcategoryIdstringcountrystringsynonymsstring[]isAutoGenerationEnabledbooleanResponses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/companies/{id}curl -X PUT "https://app.brandfound.ai/api/v1/companies/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Samsung Electronics", "description": "Updated description", "synonyms": [ "Samsung", "Самсунг", "삼성" ]}'{ "success": true, "data": { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "name": "Samsung Electronics", "description": "Updated description", "url": "https://samsung.com", "categoryId": null, "country": "South Korea", "synonyms": [ "Samsung", "Самсунг", "삼성" ], "isAutoGenerationEnabled": true, "lastUsedAt": "2026-04-06T18:00:00.000Z", "createdAt": "2026-01-15T12:00:00.000Z", "updatedAt": "2026-04-07T14:00:00.000Z" }}Successful response
Архивировать компанию
/api/v1/companies/{id}Архивирование компании. Данные сохраняются, но компания не отображается в списках.
Query parameters
idstring (uuid)requiredID компании
Responses
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/companies/{id}curl -X DELETE "https://app.brandfound.ai/api/v1/companies/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"// No ContentSuccessfully deleted
Products
Управление продуктами
Список продуктов
/api/v1/productsВозвращает список продуктов с привязанными компаниями, ключевыми словами и конкурентами.
Query parameters
offsetinteger= 0Смещение для пагинации
limitinteger= 20Количество записей на страницу
sortBystring= createdAtcreatedAtupdatedAtnamesortOrderstring= descПорядок сортировки
ascdesccompanyIdstring (uuid)Фильтр по компании
searchstringПоисковый запрос (case-insensitive)
createdAtFromstring (date-time)Начало диапазона даты создания (ISO 8601)
createdAtTostring (date-time)Конец диапазона даты создания (ISO 8601)
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/productscurl -X GET "https://app.brandfound.ai/api/v1/products" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "prod-001", "name": "Galaxy S25", "description": "Flagship smartphone", "url": "https://samsung.com/galaxy-s25", "createdAt": "2026-02-01T10:00:00.000Z", "company": { "id": "comp-uuid", "name": "Samsung" }, "keywords": [], "competitors": [ { "id": "comp-001", "name": "iPhone 16" } ] } ], "meta": { "total": 1, "limit": 20, "offset": 0, "hasMore": false }}Successful response
Создать продукт
/api/v1/productsСоздает новый продукт, привязанный к компании.
Request body
namestringrequiredcompanyIdstringrequireddescriptionstringurlstringResponses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/productscurl -X POST "https://app.brandfound.ai/api/v1/products" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Galaxy S25", "companyId": "clx1abc2d0001abcdef123456", "description": "Flagship smartphone 2026", "url": "https://samsung.com/galaxy-s25"}'{ "success": true, "data": { "id": "prod-002", "name": "Galaxy S25", "description": "Flagship smartphone 2026", "url": "https://samsung.com/galaxy-s25", "companyId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "createdAt": "2026-04-07T12:00:00.000Z", "updatedAt": "2026-04-07T12:00:00.000Z" }}Successful response
Получить продукт
/api/v1/products/{id}Возвращает полную информацию о продукте, включая ключевые слова и конкурентов.
Query parameters
idstring (uuid)requiredID продукта
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/products/{id}curl -X GET "https://app.brandfound.ai/api/v1/products/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "id": "prod-001", "name": "Galaxy S25", "description": "Flagship smartphone 2026", "url": "https://samsung.com/galaxy-s25", "companyId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "createdAt": "2026-01-15T12:00:00.000Z", "updatedAt": "2026-04-06T18:00:00.000Z", "company": { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "name": "Samsung" }, "keywords": [ { "id": "kw-001", "text": "galaxy s25" } ], "competitors": [ { "id": "comp-001", "name": "iPhone 16", "url": "https://apple.com/iphone-16", "keywords": [ { "id": "kw-002", "text": "iphone 16" } ] } ] }}Successful response
Обновить продукт
/api/v1/products/{id}Частичное обновление продукта.
Query parameters
idstring (uuid)requiredID продукта
Request body
namestringdescriptionstringurlstringResponses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/products/{id}curl -X PUT "https://app.brandfound.ai/api/v1/products/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Galaxy S25 Ultra", "description": "Updated flagship"}'{ "success": true, "data": { "id": "prod-001", "name": "Galaxy S25 Ultra", "description": "Updated flagship", "url": "https://samsung.com/galaxy-s25", "companyId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "createdAt": "2026-01-15T12:00:00.000Z", "updatedAt": "2026-04-07T14:00:00.000Z" }}Successful response
Архивировать продукт
/api/v1/products/{id}Архивирование продукта. Данные сохраняются, но продукт не отображается в списках.
Query parameters
idstring (uuid)requiredID продукта
Responses
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/products/{id}curl -X DELETE "https://app.brandfound.ai/api/v1/products/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"// No ContentSuccessfully deleted
Competitors
Управление конкурентами
Список конкурентов
/api/v1/competitorsВозвращает список конкурентов с привязанными компаниями, продуктами и ключевыми словами.
Query parameters
offsetinteger= 0Смещение для пагинации
limitinteger= 20Количество записей на страницу
sortBystring= createdAtcreatedAtupdatedAtnamesortOrderstring= descПорядок сортировки
ascdesccompanyIdstring (uuid)Фильтр по компании
productIdstring (uuid)Фильтр по продукту
searchstringПоисковый запрос (case-insensitive)
createdAtFromstring (date-time)Начало диапазона даты создания (ISO 8601)
createdAtTostring (date-time)Конец диапазона даты создания (ISO 8601)
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/competitorscurl -X GET "https://app.brandfound.ai/api/v1/competitors" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "comp-001", "name": "Apple", "url": "https://apple.com", "createdAt": "2026-01-20T10:00:00.000Z", "company": { "id": "comp-uuid", "name": "Samsung" }, "product": null, "keywords": [] } ], "meta": { "total": 1, "limit": 20, "offset": 0, "hasMore": false }}Successful response
Создать конкурента
/api/v1/competitorsСоздает нового конкурента. Может быть привязан к компании или к конкретному продукту.
Request body
namestringrequiredcompanyIdstringrequiredproductIdstringurlstringResponses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/competitorscurl -X POST "https://app.brandfound.ai/api/v1/competitors" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Apple", "companyId": "clx1abc2d0001abcdef123456", "url": "https://apple.com"}'{ "success": true, "data": { "id": "comp-003", "name": "Apple", "url": "https://apple.com", "companyId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "productId": null, "createdAt": "2026-04-07T12:00:00.000Z", "updatedAt": "2026-04-07T12:00:00.000Z" }}Successful response
Получить конкурента
/api/v1/competitors/{id}Возвращает полную информацию о конкуренте с ключевыми словами.
Query parameters
idstring (uuid)requiredID конкурента
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/competitors/{id}curl -X GET "https://app.brandfound.ai/api/v1/competitors/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "id": "comp-001", "name": "Apple", "url": "https://apple.com", "companyId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "productId": null, "createdAt": "2026-01-15T12:00:00.000Z", "updatedAt": "2026-04-06T18:00:00.000Z", "company": { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "name": "Samsung" }, "product": null, "keywords": [ { "id": "kw-003", "text": "apple" }, { "id": "kw-005", "text": "apple inc" } ] }}Successful response
Обновить конкурента
/api/v1/competitors/{id}Обновляет имя и/или URL конкурента.
Query parameters
idstring (uuid)requiredID конкурента
Request body
namestringurlstringResponses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/competitors/{id}curl -X PUT "https://app.brandfound.ai/api/v1/competitors/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Apple Inc.", "url": "https://www.apple.com"}'{ "success": true, "data": { "id": "comp-001", "name": "Apple Inc.", "url": "https://www.apple.com", "companyId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "productId": null, "createdAt": "2026-01-15T12:00:00.000Z", "updatedAt": "2026-04-07T14:00:00.000Z" }}Successful response
Архивировать конкурента
/api/v1/competitors/{id}Архивирование конкурента. Данные сохраняются, но конкурент не отображается в списках.
Query parameters
idstring (uuid)requiredID конкурента
Responses
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/competitors/{id}curl -X DELETE "https://app.brandfound.ai/api/v1/competitors/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"// No ContentSuccessfully deleted
Keywords
Интенты (keywords): создание, переименование, архивирование/удаление, restore, bulk attach/detach к компаниям/продуктам/конкурентам
Список интентов (keywords)
/api/v1/keywordsВозвращает интенты (keywords) текущего workspace. Фильтр по target — companyId | productId | competitorId (только один). state контролирует выборку по архиву: active (по умолчанию) / archived / all.
Query parameters
offsetinteger= 0Смещение для пагинации
limitinteger= 20Количество записей на страницу
sortBystring= createdAtcreatedAtnamesortOrderstring= descПорядок сортировки
ascdescstatestring= activeLifecycle фильтр: active (не архивные, по умолчанию), archived (только архивные), all.
activearchivedallsearchstringCase-insensitive подстрока по name.
companyIdstring (uuid)Только интенты с активной связью с этой компанией.
productIdstring (uuid)Только интенты с активной связью с этим продуктом.
competitorIdstring (uuid)Только интенты с активной связью с этим конкурентом.
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/keywordscurl -X GET "https://app.brandfound.ai/api/v1/keywords" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "example_id", "name": "example_name", "userId": "example_userId", "createdAt": "2026-01-15T12:00:00Z", "archivedAt": "2026-01-15T12:00:00Z", "companyKeywords": [ { "id": "example_id", "companyId": "example_companyId", "company": { "id": "example_id", "name": "example_name" } } ], "productKeywords": [ { "id": "example_id", "productId": "example_productId", "product": { "id": "example_id", "name": "example_name" } } ], "competitorKeywords": [ { "id": "example_id", "competitorId": "example_competitorId", "competitor": { "id": "example_id", "name": "example_name" } } ] } ], "meta": { "total": 1, "limit": 1, "offset": 1, "hasMore": true }}Successful response
Создать (или переиспользовать) интент
/api/v1/keywordsFind-or-create по (name, userId). Если интент уже существует — он переиспользуется (и разархивируется, если был в архиве). Опциональный attach: { companyId | productId | competitorId } — ровно один — привязывает интент к target в одной транзакции.
Request body
namestringrequiredattachobjectTarget для привязки/отвязки. Должен содержать РОВНО ОДИН из полей.
Responses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/keywordscurl -X POST "https://app.brandfound.ai/api/v1/keywords" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "best AI smartphone 2026", "attach": { "productId": "0d7e6b3f-1a2c-4f5e-9876-abcdef012345" }}'{ "success": true, "data": { "keyword": { "id": "example_id", "name": "example_name", "userId": "example_userId", "createdAt": "2026-01-15T12:00:00Z", "archivedAt": "2026-01-15T12:00:00Z", "companyKeywords": [ { "id": "example_id", "companyId": "example_companyId", "company": { "id": "example_id", "name": "example_name" } } ], "productKeywords": [ { "id": "example_id", "productId": "example_productId", "product": { "id": "example_id", "name": "example_name" } } ], "competitorKeywords": [ { "id": "example_id", "competitorId": "example_competitorId", "competitor": { "id": "example_id", "name": "example_name" } } ] }, "attach": "..." }}Successful response
Получить интент
/api/v1/keywords/{id}Возвращает интент с активными связями к компаниям, продуктам, конкурентам.
Query parameters
idstring (uuid)requiredResponses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/keywords/{id}curl -X GET "https://app.brandfound.ai/api/v1/keywords/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "id": "example_id", "name": "example_name", "userId": "example_userId", "createdAt": "2026-01-15T12:00:00Z", "archivedAt": "2026-01-15T12:00:00Z", "companyKeywords": [ { "id": "example_id", "companyId": "example_companyId", "company": { "id": "example_id", "name": "example_name" } } ], "productKeywords": [ { "id": "example_id", "productId": "example_productId", "product": { "id": "example_id", "name": "example_name" } } ], "competitorKeywords": [ { "id": "example_id", "competitorId": "example_competitorId", "competitor": { "id": "example_id", "name": "example_name" } } ] }}Successful response
Переименовать интент
/api/v1/keywords/{id}Единственное редактируемое поле — name. Архивированный интент переименовать нельзя (используйте restore сначала).
Query parameters
idstring (uuid)requiredRequest body
namestringrequiredResponses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/keywords/{id}curl -X PUT "https://app.brandfound.ai/api/v1/keywords/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "best AI smartphone 2026"}'{ "success": true, "data": { "id": "example_id", "name": "example_name", "userId": "example_userId", "createdAt": "2026-01-15T12:00:00Z", "archivedAt": "2026-01-15T12:00:00Z", "companyKeywords": [ { "id": "example_id", "companyId": "example_companyId", "company": { "id": "example_id", "name": "example_name" } } ], "productKeywords": [ { "id": "example_id", "productId": "example_productId", "product": { "id": "example_id", "name": "example_name" } } ], "competitorKeywords": [ { "id": "example_id", "competitorId": "example_competitorId", "competitor": { "id": "example_id", "name": "example_name" } } ] }}Successful response
Архивировать или удалить интент
/api/v1/keywords/{id}По умолчанию архивирует (soft-delete) интент вместе со всеми его связями — обратимо через POST /restore. С ?permanent=true физически удаляет интент из БД (требует, чтобы он уже был в архиве или имел архивные связи). С ?dryRun=true возвращает отчёт о том, что будет затронуто, без выполнения операции.
Query parameters
idstring (uuid)requiredpermanentboolean= falseПри true — необратимое удаление из БД. Требует архивного состояния.
dryRunboolean= falseПри true — отчёт без побочных эффектов.
Responses
204Successfully deleted
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/keywords/{id}curl -X DELETE "https://app.brandfound.ai/api/v1/keywords/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "keywordId": "example_keywordId", "archivedAt": "2026-01-15T12:00:00Z", "archivedLinks": { "company": 0, "product": 0, "competitor": 0 }, "mode": "archive", "dryRun": true, "wouldArchive": { "keyword": true, "links": { "company": 0, "product": 0, "competitor": 0 } }, "wouldDelete": { "keyword": true, "links": { "company": 0, "product": 0, "competitor": 0 }, "mentionRefs": 0 }, "alreadyArchived": true, "keyword": { "id": "example_id", "name": "example_name", "userId": "example_userId", "createdAt": "2026-01-15T12:00:00Z", "archivedAt": "2026-01-15T12:00:00Z", "companyKeywords": [ { "id": "example_id", "companyId": "example_companyId", "company": { "id": "example_id", "name": "example_name" } } ], "productKeywords": [ { "id": "example_id", "productId": "example_productId", "product": { "id": "example_id", "name": "example_name" } } ], "competitorKeywords": [ { "id": "example_id", "competitorId": "example_competitorId", "competitor": { "id": "example_id", "name": "example_name" } } ] } }}Successful response
Восстановить интент из архива
/api/v1/keywords/{id}/restoreСнимает archivedAt с keyword и со всех его архивных связей, чьи родительские сущности (company / product / competitor) ещё живы. Связи к удалённым target остаются архивными.
Query parameters
idstring (uuid)requiredResponses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/keywords/{id}/restorecurl -X POST "https://app.brandfound.ai/api/v1/keywords/{id}/restore" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "keywordId": "example_keywordId", "restoredLinks": { "company": 0, "product": 0, "competitor": 0 } }}Successful response
Bulk attach интентов к target
/api/v1/keywords/attachДля каждого name делает find-or-create по (name, userId), затем гарантирует активную связь с target. Архивированные связи разархивирует. Target требует РОВНО ОДИН из companyId / productId / competitorId.
Request body
targetobjectrequiredTarget для привязки/отвязки. Должен содержать РОВНО ОДИН из полей.
namesstring[]requiredResponses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/keywords/attachcurl -X POST "https://app.brandfound.ai/api/v1/keywords/attach" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "target": { "productId": "0d7e6b3f-1a2c-4f5e-9876-abcdef012345" }, "names": [ "best 2026 AI phone", "battery life smartphone" ]}'{ "success": true, "data": { "target": { "companyId": "example_companyId", "productId": "example_productId", "competitorId": "example_competitorId" }, "attached": [ { "keywordId": "example_keywordId", "name": "example_name" } ], "alreadyAttached": [ { "keywordId": "example_keywordId", "name": "example_name" } ], "reactivated": [ { "keywordId": "example_keywordId", "name": "example_name" } ] }}Successful response
Bulk detach интентов от target
/api/v1/keywords/detachАрхивирует активные связи keyword↔target. Сам интент остаётся жить и может быть привязан к другим target. Target требует РОВНО ОДИН из companyId / productId / competitorId.
Request body
targetobjectrequiredTarget для привязки/отвязки. Должен содержать РОВНО ОДИН из полей.
keywordIdsstring[]requiredResponses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/keywords/detachcurl -X POST "https://app.brandfound.ai/api/v1/keywords/detach" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "target": { "productId": "0d7e6b3f-1a2c-4f5e-9876-abcdef012345" }, "keywordIds": [ "7b2f1d4e-8c9a-4e5b-b6c2-3d7a1f8e9c4b" ]}'{ "success": true, "data": { "target": { "companyId": "example_companyId", "productId": "example_productId", "competitorId": "example_competitorId" }, "detached": [ "example" ], "notAttached": [ "example" ] }}Successful response
Queries
Управление запросами к AI-ассистентам
Список запросов
/api/v1/queriesВозвращает список запросов к AI-ассистентам с количеством ответов. Поддерживает расширенную фильтрацию: по тональности, кластерам, регионам, избранному, области поиска и диапазонам метрик тональности.
Query parameters
offsetinteger= 0Смещение для пагинации
limitinteger= 20Количество записей на страницу
sortBystring= createdAtcreatedAttextupdatedAtsortOrderstring= descПорядок сортировки
ascdesccompanyIdstring (uuid)Фильтр по компании
productIdstring (uuid)Фильтр по продукту
typestringТип запроса (general, comparative, negative и т.д.). Поддерживает массив: ?type=comparative&type=neutral
originstringИсточник запроса. Поддерживает массив: ?origin=manual&origin=auto
manualautohasAnswersstringНаличие ответов
truefalselanguagestringЯзык запроса (ru, en и т.д.). Поддерживает массив: ?language=ru&language=en
searchTextstringПоиск по тексту запроса
providerstringФильтр по AI-провайдеру ответа
sourceIdstringФильтр по ID источника ответа. Поддерживает массив: ?sourceId=id1&sourceId=id2
labelSlugstringФильтр по slug кластера/лейбла
regionstringРегион запроса. Поддерживает массив: ?region=RU®ion=US
isFavoritestringТолько избранные запросы
truefalsesentimentstringФильтр по тональности упоминаний в ответах
positiveneutralnegativesearchFieldstring= queryОбласть поиска для searchText: в тексте запроса, в ответах или в источниках
queryanswersourceslabelFilterModestring= orЛогика фильтрации по кластерам: any (or) или all (and)
orandlabelstringSlug кластера. Поддерживает массив: ?label=slug1&label=slug2
createdAtFromstring (date-time)Начало диапазона даты создания (ISO 8601)
createdAtTostring (date-time)Конец диапазона даты создания (ISO 8601)
showArchivedstringПоказать архивированные запросы (по умолчанию: false)
truefalseResponses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/queriescurl -X GET "https://app.brandfound.ai/api/v1/queries" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "query-001", "text": "Какой лучший смартфон 2026 года?", "type": "comparative", "origin": "manual", "language": "ru", "region": "russia", "createdAt": "2026-04-01T10:00:00.000Z", "company": { "id": "comp-uuid", "name": "Samsung" }, "product": { "id": "prod-001", "name": "Galaxy S25" }, "_count": { "answers": 4 } } ], "meta": { "total": 1, "limit": 20, "offset": 0, "hasMore": false }}Successful response
Создать запрос
/api/v1/queriesСоздает новый запрос для отправки в AI-ассистенты.
Request body
textstringrequiredcompanyIdstringrequiredproductIdstringtypestringТип запроса (general, comparative, negative и т.д.)
languagestring= ruregionstring= russiaResponses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/queriescurl -X POST "https://app.brandfound.ai/api/v1/queries" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Какой лучший смартфон 2026 года?", "companyId": "clx1abc2d0001abcdef123456", "productId": "prod-001", "type": "comparative", "language": "ru", "region": "russia"}'{ "success": true, "data": { "id": "query-001", "text": "Какой лучший смартфон 2026 года?", "type": "comparative", "origin": "manual", "language": "ru", "region": "russia", "companyId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "productId": "prod-001", "createdAt": "2026-04-07T12:00:00.000Z", "updatedAt": "2026-04-07T12:00:00.000Z" }}Successful response
Получить запрос
/api/v1/queries/{id}Возвращает запрос с ответами от AI-ассистентов и найденными упоминаниями.
Query parameters
idstring (uuid)requiredID запроса
includeAnswersstring= trueВключить ответы с упоминаниями (по умолчанию true)
truefalseResponses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/queries/{id}curl -X GET "https://app.brandfound.ai/api/v1/queries/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "id": "query-001", "text": "Какой лучший смартфон 2026 года?", "type": "comparative", "origin": "manual", "language": "ru", "region": "russia", "createdAt": "2026-04-01T10:00:00.000Z", "company": { "id": "comp-uuid", "name": "Samsung" }, "product": null, "answers": [ { "id": "ans-001", "content": "По мнению экспертов, Samsung Galaxy S25 Ultra и Apple iPhone 16 Pro...", "createdAt": "2026-04-01T10:01:00.000Z", "source": { "id": "src-001", "name": "ChatGPT", "type": "chatgpt" }, "mentions": [ { "id": "mention-001", "type": "company", "sentiment": 1, "position": 1, "context": "Samsung Galaxy S25 Ultra", "isOurs": true, "company": { "id": "comp-uuid", "name": "Samsung" }, "product": null, "keywords": [] } ] } ] }}Successful response
Архивировать запрос
/api/v1/queries/{id}Перемещает запрос в архив. Данные сохраняются и могут быть восстановлены.
Query parameters
idstring (uuid)requiredID запроса
Responses
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/queries/{id}curl -X DELETE "https://app.brandfound.ai/api/v1/queries/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"// No ContentSuccessfully deleted
Mentions
Просмотр упоминаний бренда
Список упоминаний
/api/v1/mentionsВозвращает упоминания бренда в ответах AI-ассистентов с полным контекстом.
Query parameters
offsetinteger= 0Смещение для пагинации
limitinteger= 20Количество записей на страницу
sortBystring= createdAtcreatedAtpositionsentimentsortOrderstring= descПорядок сортировки
ascdesctimeRangestringВременной диапазон
24h7d30d90dallcreatedAtFromstring (date-time)Начало диапазона даты создания (ISO 8601)
createdAtTostring (date-time)Конец диапазона даты создания (ISO 8601)
companyIdstring (uuid)Фильтр по компании
productIdstring (uuid)Фильтр по продукту
competitorIdstring (uuid)Фильтр по конкуренту
answerIdstring (uuid)Фильтр по конкретному ответу
typestringТип упоминания
companyproductkeywordcompetitorsentimentstringТональность
positiveneutralnegativesearchstringПоисковый запрос (case-insensitive)
isOursstringТолько наши (true) или только конкурентов (false)
truefalseResponses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/mentionscurl -X GET "https://app.brandfound.ai/api/v1/mentions" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "mention-001", "type": "company", "sentiment": 1, "position": 1, "context": "Samsung Galaxy S25 Ultra является одним из лучших смартфонов...", "isOurs": true, "createdAt": "2026-04-01T10:01:00.000Z", "answer": { "id": "ans-001", "content": "По мнению экспертов...", "createdAt": "2026-04-01T10:01:00.000Z", "source": { "id": "src-001", "name": "ChatGPT", "type": "chatgpt" }, "query": { "id": "query-001", "text": "Какой лучший смартфон?", "type": "comparative" } }, "company": { "id": "comp-uuid", "name": "Samsung" }, "product": null, "competitor": null, "keywords": [] } ], "meta": { "total": 1, "limit": 20, "offset": 0, "hasMore": false }}Successful response
Analytics
Аналитика: конкуренты, тональность, ссылки, видимость бренда
Аналитика конкурентов
/api/v1/analytics/competitorsПолный сравнительный анализ вашей компании и конкурентов по упоминаниям в AI-ассистентах. Поддерживает фильтрацию по кластерам (slug), AI-провайдерам и периоду.
Query parameters
timeRangestring= 30dВременной диапазон
24h7d30dallfromstring (date-time)Начало кастомного диапазона (ISO 8601)
tostring (date-time)Конец кастомного диапазона (ISO 8601)
companyIdstring (uuid)ID компании
productIdstring (uuid)ID продукта
sourceIdstring[]ID AI-провайдеров
labelIdstring[]ID кластеров/лейблов
labelSlugstringSlug кластера. Массив: ?labelSlug=slug1&labelSlug=slug2
labelFilterModestring= orРежим фильтрации по лейблам
orandincludeDemostringВключить демо-данные
truefalseResponses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/analytics/competitorscurl -X GET "https://app.brandfound.ai/api/v1/analytics/competitors" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "ourCompany": { "name": "Samsung", "mentions": 150, "mentionsBrand": 120, "mentionsLink": 30, "sentiment": 0.72, "brandMentionRate": 0.8 }, "competitors": [ { "name": "Apple", "mentions": 180, "mentionsBrand": 160, "mentionsLink": 20, "sentiment": 0.65, "categories": [], "brandMentionRate": 0.89 } ], "overall": { "ourMentions": 150, "competitorMentions": 180, "leader": "Apple" }, "productBreakdown": [], "sourceBreakdown": [ { "name": "ChatGPT", "ourAnswers": 50, "ourMentions": 80, "competitorBreakdown": [], "totalAnswers": 120 } ], "shareOfVoice": { "ourCompany": 0.45, "competitors": [ { "name": "Apple", "share": 0.55 } ], "totalAnswers": 200 }, "exclusiveBreakdown": { "onlyUs": 60, "shared": 40, "onlyCompetitors": 50, "total": 150, "byCompetitor": [] }, "timeline": [ { "date": "2026-04-01", "ourMentions": 10, "competitorMentions": 12, "totalAnswers": 30 } ] }}Successful response
Предпросмотр упоминаний конкурентов
/api/v1/analytics/competitors/previewВозвращает конкретные ответы AI-ассистентов с упоминаниями для детального анализа. Поддерживает фильтрацию по кластерам, демо-данные, кастомный период и режим фильтрации лейблов.
Query parameters
sidestringrequiredЧья сторона: наша компания или конкурент
ourcompetitorcompetitorNamestringИмя конкурента (если side=competitor)
mentionTypestring= bothТип упоминания
brandlinkbothoffsetinteger= 0Смещение для пагинации
limitinteger= 20Количество записей на страницу
timeRangestring24h7d30dallcompanyIdstring (uuid)productIdstring (uuid)sourceIdstring[]labelIdstring[]includeMentionsstringВключить упоминания в ответ
truefalseincludeDemostringВключить демо-данные
truefalselabelFilterModestring= orЛогика фильтрации по кластерам
orandfromstring (date-time)Начало периода (ISO 8601)
tostring (date-time)Конец периода (ISO 8601)
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/analytics/competitors/previewcurl -X GET "https://app.brandfound.ai/api/v1/analytics/competitors/preview" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "items": [ { "id": "mention-001", "isOurs": true, "type": "company", "sentiment": 1, "position": 1, "context": "Samsung Galaxy S25 Ultra", "company": { "id": "c1", "name": "Samsung" }, "product": null, "competitor": null, "answer": { "id": "ans-001", "content": "По мнению экспертов...", "source": { "name": "ChatGPT", "type": "chatgpt" } } } ], "total": 1, "offset": 0, "limit": 20, "hasMore": false }}Successful response
Аналитика тональности
/api/v1/analytics/tonalityПолный анализ тональности ответов AI-ассистентов: метрики качества, timeline, проблемные и лучшие ответы.
Query parameters
timeRangestring= 30d24h7d30d90dcompanyIdstring (uuid)productIdstring (uuid)queryTypestringТип запроса
neutralcomparativenegativesentimentstringФильтр по тональности
positiveneutralnegativesourceIdstring[]AI-провайдеры
labelSlugstring[]Кластеры/лейблы по slug
labelFilterModestring= ororandfromstring (date-time)tostring (date-time)includeDemostringtruefalseResponses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/analytics/tonalitycurl -X GET "https://app.brandfound.ai/api/v1/analytics/tonality" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "summary": { "totalAnswers": 200, "avgOverallScore": 7.5, "sentimentDistribution": { "positive": 120, "neutral": 50, "negative": 30 } }, "metrics": { "relevanceToBrand": 8.2, "factualityConfidence": 7.8, "helpfulness": 7.5, "preferenceForBrand": 6.9, "recommendationStrength": 7.1, "fairness": 8, "evidenceSupport": 7.3, "informativeness": 7.6, "completeness": 7.4, "impactOnBrand": 7 }, "timeline": [ { "date": "2026-04-01", "positive": 10, "neutral": 5, "negative": 2, "avgScore": 7.8, "count": 17 } ], "topSources": [ { "sourceName": "ChatGPT", "count": 80, "avgScore": 7.9 } ], "queryTypes": [ { "type": "neutral", "count": 100, "avgScore": 7.8, "positive": 70, "neutral": 20, "negative": 10 } ], "problematicAnswers": [], "bestAnswers": [], "brandAnalytics": { "monthlyTrend": [], "correlations": [], "insights": [] } }}Successful response
Аналитика ссылок
/api/v1/analytics/linksАналитика ссылок из ответов AI-ассистентов: топ-домены, цитирование по провайдерам, timeline. Поддерживает фильтрацию по тональности, кластерам, типу запроса, порогам Impact/Overall Score и кастомный период.
Query parameters
timeRangestring24h7d30dallcompanyIdstring (uuid)productIdstring (uuid)includeDemostringtruefalselabelSlugstring[]sortDomainsBystringСортировка доменов
sentimentstringФильтр по тональности
positiveneutralnegativeminImpactnumberМинимальный порог Impact Score
minOverallnumberМинимальный порог Overall Score
presetstringПресет фильтрации
queryTypestringТип запроса
neutralnegativecomparativelabelstringSlug кластера
labelFilterModestring= orЛогика фильтрации
orandfromstring (date-time)Начало периода
tostring (date-time)Конец периода
chartOnlystringТолько данные для графика
truefalsecitationModestringРежим цитирования
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/analytics/linkscurl -X GET "https://app.brandfound.ai/api/v1/analytics/links" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "topDomains": [ { "domain": "samsung.com", "name": "Samsung", "trustRank": 95, "linkCount": 45, "mentionCount": 120, "sentiment": 0.8 } ], "citationsByProvider": [ { "provider": "chatgpt", "entityName": "Samsung", "isOurs": true, "citations": 30 } ], "timeline": [ { "date": "2026-04-01", "linkCount": 15 } ] }}Successful response
Топ домены
/api/v1/analytics/links/top-domainsВозвращает наиболее цитируемые домены в ответах AI-ассистентов. Поддерживает фильтрацию по тональности, типу запроса, порогам Impact/Overall Score и демо-данные.
Query parameters
timeRangestring24h7d30dallcompanyIdstring (uuid)productIdstring (uuid)limitinteger= 10Количество доменов
includeDemostringВключить демо-данные
truefalsesentimentstringФильтр по тональности
positiveneutralnegativeminImpactnumberМинимальный порог Impact Score
minOverallnumberМинимальный порог Overall Score
queryTypestringТип запроса
neutralnegativecomparativeResponses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/analytics/links/top-domainscurl -X GET "https://app.brandfound.ai/api/v1/analytics/links/top-domains" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "domain": "samsung.com", "name": "Samsung", "trustRank": 95, "linkCount": 45, "mentionCount": 120, "sentiment": 0.8 }, { "domain": "apple.com", "name": "Apple", "trustRank": 97, "linkCount": 52, "mentionCount": 140, "sentiment": 0.75 } ]}Successful response
Видимость бренда
/api/v1/analytics/brand-visibilityTimeline видимости бренда в сравнении с конкурентами с настраиваемой гранулярностью. Поддерживает фильтрацию по кластерам (ID и slug), AI-провайдерам и режим логики фильтрации.
Query parameters
granularitystring= dayГранулярность временной оси
dayweekmonthtimeRangestring24h7d30dallcompanyIdstring (uuid)productIdstring (uuid)includeDemostringtruefalsefromstring (date-time)tostring (date-time)labelIdstringID кластера. Массив: ?labelId=id1&labelId=id2
labelSlugstringSlug кластера
labelFilterModestring= orЛогика фильтрации
orandsourceIdstringID AI-источника
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/analytics/brand-visibilitycurl -X GET "https://app.brandfound.ai/api/v1/analytics/brand-visibility" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "timeline": [ { "period": "2026-04-01", "periodLabel": "1 апр", "our": 15, "competitors": { "Apple": 18, "Google": 12 } } ], "summary": { "trend": "growing" } }}Successful response
Links
Домены и ссылки из AI-ответов
Домены и ссылки
/api/v1/linksДвухуровневая таблица доменов и ссылок из ответов AI-ассистентов с сортировкой и фильтрацией.
Query parameters
pageinteger= 1Номер страницы
pageSizeinteger= 50Размер страницы
sortBystring= lastMentionedlastMentionedmentionCountanswerCountourMentionCountcompetitorMentionCountdomaintrustRankdomainLinkssortDirstring= descascdescsearchstringПоисковый запрос (case-insensitive)
searchFieldstringПоле для поиска
domainurltitletimeRangestring24h7d30dfromstring (date-time)tostring (date-time)companyIdstring (uuid)productIdstring (uuid)sentimentstringpositiveneutralnegativequeryTypestringneutralnegativecomparativeproviderstring[]AI-провайдеры
activestringТолько активные ссылки
truefalsedomainsOnlystringТолько домены (без подссылок)
truefalsedomainstringПодссылки конкретного домена
labelstring[]Кластеры/лейблы
includeDemostringtruefalseResponses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/linkscurl -X GET "https://app.brandfound.ai/api/v1/links" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "page": 1, "pageSize": 50, "totalCount": 120, "hasMore": true, "rows": [ { "domain": "samsung.com", "trustRank": 95, "mentionCount": 45, "answerCount": 30, "ourMentionCount": 40, "competitorMentionCount": 5, "lastMentioned": "2026-04-05T12:00:00.000Z", "domainLinks": 8 } ] }}Successful response
Опции фильтров ссылок
/api/v1/links/filter-optionsВозвращает доступные значения для фильтров таблицы ссылок: провайдеры и лейблы.
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/links/filter-optionscurl -X GET "https://app.brandfound.ai/api/v1/links/filter-options" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "providers": [ { "value": "chatgpt", "label": "ChatGPT" }, { "value": "gemini", "label": "Gemini" }, { "value": "claude", "label": "Claude" }, { "value": "perplexity", "label": "Perplexity" } ], "labels": [ { "value": "brand-queries", "label": "Брендовые запросы" } ] }}Successful response
Advertising
Рекламные данные из AI-ответов
Рекламные данные
/api/v1/advertisingАналитика рекламных и промо-блоков в ответах AI-ассистентов. Поддерживает пагинацию, поиск по домену/URL, фильтрацию по кластерам, типу промо, периоду и сортировку.
Query parameters
timeRangestring24h7d30dallcompanyIdstring (uuid)productIdstring (uuid)includeDemostringtruefalsepageinteger= 1Номер страницы
pageSizeinteger= 50Размер страницы
searchstringПоиск по домену или URL
searchFieldstringПоле поиска
domainurltitlelabelstringSlug кластера. Массив: ?label=slug1&label=slug2
promoTypestringТип промо-блока
sortBystringПоле сортировки
sortDirstringНаправление сортировки
ascdescfromstring (date-time)Начало периода (ISO 8601)
tostring (date-time)Конец периода (ISO 8601)
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/advertisingcurl -X GET "https://app.brandfound.ai/api/v1/advertising" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "summary": { "promoCount": 25, "ourPromos": 8, "competitorPromos": 17, "uniqueDomains": 12 }, "topDomains": [ { "domain": "samsung.com", "count": 5, "isOurs": true }, { "domain": "apple.com", "count": 8, "isOurs": false } ], "timeseries": [ { "date": "2026-04-01", "count": 3 } ] }}Successful response
Factory
Контент-фабрика: задачи, теги, обогащение, генерация планов и статей, детекция инсайтов
Список задач
/api/v1/factory/tasksВозвращает список задач контент-фабрики с фильтрацией, пагинацией и сортировкой.
Query parameters
companyIdstring (uuid)Фильтр по компании
statusstring[]Фильтр по статусу (можно несколько: ?status=TODO&status=IN_PROGRESS)
typestring[]Фильтр по типу задачи (можно несколько)
prioritystring[]Фильтр по приоритету (можно несколько)
searchstringПоиск по названию и описанию задачи
tagIdstring (uuid)Фильтр по тегу
aiGeneratedbooleanФильтр: только AI-сгенерированные задачи
sortBystring= createdAtcreatedAtupdatedAtprioritystatuspositionsortOrderstring= descПорядок сортировки
ascdescoffsetinteger= 0Смещение для пагинации
limitinteger= 20Количество записей на страницу
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/factory/taskscurl -X GET "https://app.brandfound.ai/api/v1/factory/tasks" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "title": "Написать FAQ по Galaxy S25", "status": "TODO", "type": "CREATE_FAQ", "priority": "HIGH", "position": 1, "aiGenerated": true, "aiReasoning": "Обнаружен content gap по FAQ-запросам", "aiConfidence": 0.87, "description": "Создать FAQ на основе частых вопросов пользователей", "targetKeywords": [ "galaxy s25 faq", "samsung s25 характеристики" ], "targetProviders": [ "chatgpt", "gemini" ], "companyId": "clx1abc2d0001abcdef123456", "companyName": "Samsung", "companyFavicon": "https://samsung.com/favicon.ico", "dueDate": "2026-04-20T00:00:00.000Z", "tags": [ { "id": "tag-001", "name": "FAQ", "color": "#6366f1", "icon": null, "isSystem": false, "position": 0 } ], "metadata": {}, "createdAt": "2026-04-07T12:00:00.000Z", "updatedAt": "2026-04-07T12:00:00.000Z" } ], "meta": { "total": 1, "limit": 20, "offset": 0, "hasMore": false }}Successful response
Создать задачу
/api/v1/factory/tasksСоздаёт новую задачу контент-фабрики.
Request body
titlestringrequiredНазвание задачи
companyIdstringrequiredID компании
typestringrequiredТип задачи
NEW_ARTICLEOPTIMIZE_PAGECREATE_FAQCOMPARISONGUIDECASE_STUDYprioritystring= MEDIUMПриоритет
CRITICALHIGHMEDIUMLOWdescriptionstringОписание задачи
targetKeywordsstring[]Целевые ключевые слова (макс. 20)
targetProvidersstring[]Целевые AI-провайдеры
Responses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/taskscurl -X POST "https://app.brandfound.ai/api/v1/factory/tasks" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Написать FAQ по Galaxy S25", "companyId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "type": "CREATE_FAQ", "priority": "HIGH", "description": "Создать FAQ на основе частых вопросов пользователей", "targetKeywords": [ "galaxy s25 faq", "samsung s25 характеристики" ], "targetProviders": [ "chatgpt", "gemini" ]}'{ "success": true, "data": { "id": "example_id", "title": "example_title", "status": "IDEA", "type": "NEW_ARTICLE", "priority": "CRITICAL", "position": 1, "aiGenerated": true, "aiReasoning": "example_aiReasoning", "aiConfidence": 1, "description": "example_description", "targetKeywords": [ "example" ], "targetProviders": [ "example" ], "companyId": "example_companyId", "companyName": "example_companyName", "companyFavicon": "example_companyFavicon", "dueDate": "2026-01-15T12:00:00Z", "tags": [ { "id": "example_id", "name": "example_name", "color": "example_color", "icon": "example_icon", "isSystem": true, "position": 1, "taskCount": 1 } ], "metadata": {}, "createdAt": "2026-01-15T12:00:00Z", "updatedAt": "2026-01-15T12:00:00Z" }}Successful response
Получить задачу
/api/v1/factory/tasks/{id}Возвращает полную информацию о задаче контент-фабрики.
Query parameters
idstring (uuid)requiredID задачи
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/tasks/{id}curl -X GET "https://app.brandfound.ai/api/v1/factory/tasks/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": { "id": "example_id", "title": "example_title", "status": "IDEA", "type": "NEW_ARTICLE", "priority": "CRITICAL", "position": 1, "aiGenerated": true, "aiReasoning": "example_aiReasoning", "aiConfidence": 1, "description": "example_description", "targetKeywords": [ "example" ], "targetProviders": [ "example" ], "companyId": "example_companyId", "companyName": "example_companyName", "companyFavicon": "example_companyFavicon", "dueDate": "2026-01-15T12:00:00Z", "tags": [ { "id": "example_id", "name": "example_name", "color": "example_color", "icon": "example_icon", "isSystem": true, "position": 1, "taskCount": 1 } ], "metadata": {}, "createdAt": "2026-01-15T12:00:00Z", "updatedAt": "2026-01-15T12:00:00Z" }}Successful response
Обновить задачу
/api/v1/factory/tasks/{id}Частичное обновление задачи контент-фабрики.
Query parameters
idstring (uuid)requiredID задачи
Request body
statusstringIDEABACKLOGTODOIN_PROGRESSREVIEWDONEDISMISSEDprioritystringCRITICALHIGHMEDIUMLOWtitlestringdescriptionstringtagIdsstring[]Массив ID тегов для привязки
targetKeywordsstring[]targetProvidersstring[]dueDatestringДедлайн задачи
metadataobjectПроизвольные метаданные задачи
Responses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/tasks/{id}curl -X PATCH "https://app.brandfound.ai/api/v1/factory/tasks/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "status": "IN_PROGRESS", "priority": "HIGH", "tagIds": [ "tag-001", "tag-002" ]}'{ "success": true, "data": { "id": "example_id", "title": "example_title", "status": "IDEA", "type": "NEW_ARTICLE", "priority": "CRITICAL", "position": 1, "aiGenerated": true, "aiReasoning": "example_aiReasoning", "aiConfidence": 1, "description": "example_description", "targetKeywords": [ "example" ], "targetProviders": [ "example" ], "companyId": "example_companyId", "companyName": "example_companyName", "companyFavicon": "example_companyFavicon", "dueDate": "2026-01-15T12:00:00Z", "tags": [ { "id": "example_id", "name": "example_name", "color": "example_color", "icon": "example_icon", "isSystem": true, "position": 1, "taskCount": 1 } ], "metadata": {}, "createdAt": "2026-01-15T12:00:00Z", "updatedAt": "2026-01-15T12:00:00Z" }}Successful response
Архивировать задачу
/api/v1/factory/tasks/{id}Архивирование задачи. Данные сохраняются, но задача переходит в статус DISMISSED.
Query parameters
idstring (uuid)requiredID задачи
Responses
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/tasks/{id}curl -X DELETE "https://app.brandfound.ai/api/v1/factory/tasks/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"// No ContentSuccessfully deleted
Обогатить задачу
/api/v1/factory/tasks/{id}/enrichRAG-поиск по базе источников, анализ конкурентов, AI-рекомендации.
Query parameters
idstring (uuid)requiredID задачи
Request body
topicstringrequiredТема для обогащения
descriptionstringДополнительное описание
keywordsstring[]Ключевые слова для RAG-поиска
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/tasks/{id}/enrichcurl -X POST "https://app.brandfound.ai/api/v1/factory/tasks/{id}/enrich" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "topic": "Samsung Galaxy S25 FAQ", "description": "Часто задаваемые вопросы о Galaxy S25", "keywords": [ "galaxy s25", "samsung", "характеристики" ]}'{ "success": true, "data": {}}Successful response
Сгенерировать план
/api/v1/factory/tasks/{id}/planГенерация плана статьи на основе обогащённых данных: структура, заголовки, ключевые тезисы, tone of voice.
Query parameters
idstring (uuid)requiredID задачи
Request body
promptstringДополнительные инструкции для генерации плана
topicIdstringID выбранной темы (из suggest topics)
topicTitlestringНазвание темы
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/tasks/{id}/plancurl -X POST "https://app.brandfound.ai/api/v1/factory/tasks/{id}/plan" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Сфокусируйся на сравнении с iPhone 16", "topicId": "topic-001", "topicTitle": "Samsung Galaxy S25 vs iPhone 16: полное сравнение"}'{ "success": true, "data": { "plan": {}, "usage": { "inputTokens": 1, "outputTokens": 1 } }}Successful response
Сгенерировать статью
/api/v1/factory/tasks/{id}/articleГенерация статьи по плану (SSE-стриминг). Content-Type: text/event-stream.
Query parameters
idstring (uuid)requiredID задачи
Request body
planIdstringID плана для генерации статьи
articleLengthstring= mediumДлина статьи: short (~1000 слов), medium (~2000), long (~3500)
shortmediumlongResponses
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/tasks/{id}/articlecurl -X POST "https://app.brandfound.ai/api/v1/factory/tasks/{id}/article" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "planId": "plan-001", "articleLength": "medium"}'{ "success": false, "error": { "code": "UNAUTHORIZED", "message": "Необходима авторизация" }}Необходима авторизация
Версии контента
/api/v1/factory/tasks/{id}/versionsВозвращает список версий контента (планов, статей, брифов) для задачи.
Query parameters
idstring (uuid)requiredID задачи
typestringФильтр по типу контента
planarticlebriefplanIdstringФильтр по ID плана
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/tasks/{id}/versionscurl -X GET "https://app.brandfound.ai/api/v1/factory/tasks/{id}/versions" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "example_id", "type": "plan", "version": 1, "content": {}, "createdAt": "2026-01-15T12:00:00Z" } ]}Successful response
Аналитика задачи
/api/v1/factory/tasks/{id}/analyticsВозвращает аналитику по задаче: статистика обогащения, генераций, публикаций.
Query parameters
idstring (uuid)requiredID задачи
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/tasks/{id}/analyticscurl -X GET "https://app.brandfound.ai/api/v1/factory/tasks/{id}/analytics" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": {}}Successful response
Предложить темы
/api/v1/factory/tasks/{id}/topicsГенерация 10 тем на основе данных задачи.
Query parameters
idstring (uuid)requiredID задачи
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/tasks/{id}/topicscurl -X POST "https://app.brandfound.ai/api/v1/factory/tasks/{id}/topics" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "example_id", "title": "example_title", "description": "example_description", "keywords": [ "example" ], "score": 1 } ]}Successful response
Список тегов
/api/v1/factory/tagsВозвращает все теги контент-фабрики с количеством задач.
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/factory/tagscurl -X GET "https://app.brandfound.ai/api/v1/factory/tags" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "tag-001", "name": "FAQ", "color": "#6366f1", "icon": null, "isSystem": false, "position": 0, "taskCount": 5 }, { "id": "tag-002", "name": "SEO", "color": "#10b981", "icon": "search", "isSystem": true, "position": 1, "taskCount": 12 } ]}Successful response
Создать тег
/api/v1/factory/tagsСоздаёт новый тег для задач контент-фабрики.
Request body
namestringrequiredНазвание тега
colorstringHEX цвет, напр. #6366f1
iconstringИконка тега (опционально)
Responses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED409application/jsonРесурс с таким именем уже существует
CONFLICT/api/v1/factory/tagscurl -X POST "https://app.brandfound.ai/api/v1/factory/tags" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "FAQ", "color": "#6366f1", "icon": "help-circle"}'{ "success": true, "data": { "id": "example_id", "name": "example_name", "color": "example_color", "icon": "example_icon", "isSystem": true, "position": 1, "taskCount": 1 }}Successful response
Обновить тег
/api/v1/factory/tags/{id}Частичное обновление тега контент-фабрики.
Query parameters
idstring (uuid)requiredID тега
Request body
namestringcolorstringiconstringpositionintegerПозиция сортировки
Responses
200Successful response
400application/jsonОшибка валидации
VALIDATION_ERROR401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND409application/jsonРесурс с таким именем уже существует
CONFLICT/api/v1/factory/tags/{id}curl -X PATCH "https://app.brandfound.ai/api/v1/factory/tags/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "FAQ Updated", "color": "#8b5cf6", "position": 2}'{ "success": true, "data": { "id": "example_id", "name": "example_name", "color": "example_color", "icon": "example_icon", "isSystem": true, "position": 1, "taskCount": 1 }}Successful response
Удалить тег
/api/v1/factory/tags/{id}Удаление тега. Системные теги удалить нельзя.
Query parameters
idstring (uuid)requiredID тега
Responses
401application/jsonНеобходима авторизация
UNAUTHORIZED403application/jsonНедостаточно прав
FORBIDDEN404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/tags/{id}curl -X DELETE "https://app.brandfound.ai/api/v1/factory/tags/{id}" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"// No ContentSuccessfully deleted
Список публикаций
/api/v1/factory/publicationsВозвращает список публикаций контент-фабрики с пагинацией.
Query parameters
companyIdstring (uuid)Фильтр по компании
offsetinteger= 0Смещение для пагинации
limitinteger= 20Количество записей на страницу
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/factory/publicationscurl -X GET "https://app.brandfound.ai/api/v1/factory/publications" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": [ { "id": "pub-001", "url": "https://samsung.com/blog/galaxy-s25-faq", "platform": "blog", "publishedAt": "2026-04-10T12:00:00.000Z", "planId": "plan-001", "planTitle": "FAQ по Galaxy S25", "notes": null, "taskId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "taskTitle": "Написать FAQ по Galaxy S25", "companyId": "clx1abc2d0001abcdef123456" } ], "meta": { "total": 1, "limit": 20, "offset": 0, "hasMore": false }}Successful response
Детекция инсайтов
/api/v1/factory/insightsЗапуск детекторов (15 типов): content gaps, competitor wins, white space, reputation risks и др.
Request body
companyIdstringrequiredID компании
insightTypestringТип инсайта (если не указан — запуск всех детекторов)
CONTENT_GAPCOMPETITOR_WINWHITE_SPACEREPUTATION_RISKKEYWORD_OPPORTUNITYTRENDING_TOPICPROVIDER_BIASSEASONAL_OPPORTUNITYFAQ_OPPORTUNITYCOMPARISON_OPPORTUNITYGUIDE_OPPORTUNITYCASE_STUDY_OPPORTUNITYOPTIMIZATION_NEEDEDAUTHORITY_BUILDINGlimitintegerМаксимальное количество инсайтов
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED404application/jsonРесурс не найден
NOT_FOUND/api/v1/factory/insightscurl -X POST "https://app.brandfound.ai/api/v1/factory/insights" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "companyId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "insightType": "CONTENT_GAP", "limit": 10}'{ "success": true, "data": { "company": "Samsung", "insightsFound": 5, "tasksCreated": 3, "savedTaskIds": [ "task-001", "task-002", "task-003" ], "byType": { "CONTENT_GAP": 2, "COMPETITOR_WIN": 1, "WHITE_SPACE": 2 } }}Successful response
Настройки фабрики
/api/v1/factory/settingsВозвращает текущие настройки контент-фабрики пользователя.
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/factory/settingscurl -X GET "https://app.brandfound.ai/api/v1/factory/settings" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json"{ "success": true, "data": {}}Successful response
Обновить настройки
/api/v1/factory/settingsОбновление настроек контент-фабрики (deep merge).
Request body
settingsobjectrequiredОбъект настроек для deep merge с текущими
Responses
200Successful response
401application/jsonНеобходима авторизация
UNAUTHORIZED/api/v1/factory/settingscurl -X PATCH "https://app.brandfound.ai/api/v1/factory/settings" \ -H "Authorization: Bearer gfx_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "settings": { "defaultPriority": "MEDIUM", "autoEnrich": true, "preferredProviders": [ "chatgpt", "gemini" ] }}'{ "success": true, "data": {}}Successful response