API документация

Програмен достъп до данните за AI видимост.

REST API само за четене и MCP сървър, двата удостоверени с един и същ ключ. Извличайте марки, заявки, изпълнения, споменавания, ежедневни оценки за видимост и препоръки в собствените си табла, хранилища или AI агенти.

Удостоверяване

Bearer токени

Генерирайте API ключ от Настройки → API ключове в приложението. Текстът се показва веднъж при създаването – съхранете го в мениджъра на пароли. Предавайте го като Bearer токен при всяка заявка.

curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands \
  -H "Authorization: Bearer ik_…"

Ключовете могат да бъдат отменени по всяко време от същия панел с настройки. Всеки ключ е обвързан с вашия акаунт и наследява разрешенията за марки на акаунта – без обхвати на ниво ключ засега.

Основен URL

Накъде отиват заявките

Всички REST крайни точки живеят под един основен URL:

https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1

Добавете пътя на която и да е крайна точка по-долу. GET е единственият поддържан метод – API-ът е само за четене.

Получаване на ID на марката

Откъде идва {id}

Повечето крайни точки вземат {id} параметър на пътя – това е UUID на вашата марка. Два начина да го получите:

  1. От самия API– извикайте първо GET /brands. Всеки елемент в отговора има idполе. Използвайте тази стойност в последващите извиквания.
  2. От URL на таблото– когато отворите марка на https://app.intendity.com/brands/<id> , UUID след /brands/ е ID на марката, което бихте използвали в API-а.
Крайни точки

Справочник

Седем крайни точки, всички GET, всички връщат JSON, всички обвързани с притежателя на API ключа.

GET /brands

Списък на марките – открийте своите ID-та

Връща всяка марка, която притежавате. Извикайте това първо, за да получите `id`, което ще вмъкнете в другите крайни точки. Това е единствената крайна точка, която не приема ID на марка като параметър на пътя.

Заявка
curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "brands": [
    {
      "id": "0ae98f45-446c-4482-886f-9ce2fd6ba4ea",
      "name": "Acme",
      "industry": "B2B SaaS",
      "aliases": ["Acme Corp", "ACME"],
      "competitors": ["Beta", "Gamma"],
      "country": "US",
      "enabled_models": ["openai/gpt-5.2", "anthropic/claude-sonnet-4"],
      "run_frequency": "daily",
      "created_at": "2026-04-01T12:00:00Z"
    }
  ]
}
GET /brands/{id}

Вземете марка

Единична марка по id. Същата форма като елементите в `/brands`.

Заявка
curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands/0ae98f45-446c-4482-886f-9ce2fd6ba4ea \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "brand": {
    "id": "0ae98f45-446c-4482-886f-9ce2fd6ba4ea",
    "name": "Acme",
    ...
  }
}
GET /brands/{id}/queries

Списък на заявките за марка

Всяка подкана, която сте добавили срещу тази марка. Сортирана от най-новата.

Заявка
curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands/{id}/queries?limit=100 \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "queries": [
    {
      "id": "…",
      "text": "best CRM for small B2B teams",
      "tags": ["evaluation"],
      "country": "US",
      "enabled": true,
      "last_run_at": "2026-04-30T04:00:00Z",
      "created_at": "2026-04-01T12:00:00Z"
    }
  ]
}
GET /brands/{id}/runs

Списък на изпълненията за марка

Един ред на (заявка × модел) изпълнение. Включва суровия `response` blob от модела.

Заявка
curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands/{id}/runs?limit=100 \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "runs": [
    {
      "id": "…",
      "query_id": "…",
      "model": "openai/gpt-5.2",
      "status": "completed",
      "response": "Acme is one of the leading…",
      "error": null,
      "created_at": "2026-04-30T04:01:23Z"
    }
  ]
}
GET /brands/{id}/mentions

Списък на споменаванията за марка

Анализ на изпълнение: дали марката е спомената, на каква позиция, настроение, кои конкуренти са назовани и URL адресите на извора, цитирани от модела.

Заявка
curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands/{id}/mentions?limit=100 \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "mentions": [
    {
      "id": "…",
      "run_id": "…",
      "mentioned": true,
      "position": 3,
      "sentiment": "positive",
      "sentiment_score": 78,
      "context": "Acme stands out for its…",
      "competitors_found": ["Beta"],
      "sources": ["https://en.wikipedia.org/wiki/…"],
      "confidence": 0.92,
      "created_at": "2026-04-30T04:01:24Z"
    }
  ]
}
GET /brands/{id}/visibility

Ежедневни оценки за видимост

Един ред на ден. `score` е процент от 0-100 на честотата на споменаване за всички заявки × модели, изпълнени този ден.

Заявка
curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands/{id}/visibility \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "visibility": [
    {
      "day": "2026-04-30",
      "score": 64,
      "total_runs": 48,
      "total_mentions": 31
    }
  ]
}
GET /brands/{id}/recommendations

Списък на препоръките за марка

AI-генерирани следващи стъпки за подобряване на видимостта, с работен поток статус (pending → in_progress → done / dismissed).

Заявка
curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands/{id}/recommendations \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "recommendations": [
    {
      "id": "…",
      "category": "wikipedia",
      "title": "Edit the 'CRM software' Wikipedia article",
      "body": "Three of four models cited Wikipedia…",
      "related_queries": ["…"],
      "status": "pending",
      "due_date": null,
      "completed_at": null,
      "created_at": "2026-04-30T04:05:00Z"
    }
  ]
}
GET /brands/{id}/suggested-prompts

Предложени подкани

Подкани, които системата смята, че трябва да проследявате, но все още не сте добавили. `added: true` означава, че потребителят е приел предложението (и подканата вече е в `/brands/{id}/queries`).

Заявка
curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands/{id}/suggested-prompts \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "suggested_prompts": [
    {
      "id": "…",
      "text": "best CRM for small SaaS teams",
      "rationale": "competitor-comparison gap - competitors win 4/5 runs",
      "added": false,
      "created_at": "2026-05-01T04:00:00Z"
    }
  ]
}
GET /brands/{id}/competitor-sov

Дял на гласа на конкурентите

Ежедневен брой споменавания на (конкурент, модел). Самата марка се отчита под sentinel `__brand__`, така че делът на гласа е `brand_count / SUM(count)` в рамките на (модел, ден). Филтрирайте времевия диапазон с `?since=YYYY-MM-DD` (по подразбиране: последните 90 дни).

Заявка
curl "https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands/{id}/competitor-sov?since=2026-04-01" \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "sov": [
    { "competitor": "__brand__", "model": "openai/gpt-5.2", "day": "2026-05-04", "mention_count": 4, "avg_position": 2.5 },
    { "competitor": "Beta",      "model": "openai/gpt-5.2", "day": "2026-05-04", "mention_count": 7, "avg_position": null }
  ]
}
GET /brands/{id}/page-audits

Одити на страници – списък

Одити за готовност за AI, изпълнени на страниците на марката. Всеки ред включва оценката (0-100), списъка с проблеми и анализираните сигнали (типове schema.org, наличие на llms.txt, правила на robots за AI ботове и т.н.).

Заявка
curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands/{id}/page-audits \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "page_audits": [
    {
      "id": "…",
      "url": "https://acme.com/pricing",
      "fetched_at": "2026-05-04T10:12:00Z",
      "status_code": 200,
      "score": 72,
      "issues": [
        { "id": "no-faq-schema", "severity": "warning", "title": "No FAQPage schema", "fix": "Add JSON-LD FAQPage with the top buyer questions.", "score_impact": 8 }
      ],
      "signals": {
        "word_count": 824,
        "h1_count": 1,
        "has_canonical": true,
        "has_meta_description": true,
        "has_faq_schema": false,
        "schema_types": ["Organization", "WebSite"],
        "llms_txt_present": false,
        "robots_blocks_ai": [],
        "ai_bots_allowed": ["GPTBot", "ClaudeBot"]
      },
      "error": null
    }
  ]
}
GET /brands/{id}/page-audits/{auditId}

Одит на страница – единичен

Единичен одит по id. Същата форма като елементите в `/brands/{id}/page-audits`.

Заявка
curl https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/api-v1/brands/{id}/page-audits/{auditId} \
  -H "Authorization: Bearer ik_…"
Отговор (200 OK)
{
  "page_audit": {
    "id": "…",
    "url": "https://acme.com/pricing",
    "score": 72,
    ...
  }
}

Пагинация

Подайте ?limit=N на крайните точки за колекции. По подразбиране е 100, макс. 500. Пагинацията с курсор е в плана за колекции, надхвърлящи една страница.

Грешки

Кодове на статус

Статус Кога
200 Успех.
401 Липсващ или невалиден Bearer токен.
404 Марката или пътят не съществуват (или не са ваши).
405 Използван е метод, различен от GET.
500 Неочаквана сървърна грешка – опитайте отново с backoff.

Телата на грешките включват error низ и понякога hint.

MCP сървър

Използвайте Intendity от Claude / Cursor / всеки MCP клиент

Същият API ключ се удостоверява срещу MCP-съвместима крайна точка. Насочете всеки клиент на Model Context Protocol към нея и данните ви за видимостта на марката ще бъдат достъпни като инструменти в асистента.

https://ipxntaczzxemkezuofzl.supabase.co/functions/v1/mcp

Удостоверяване: Authorization: Bearer ik_… на SSE / HTTP транспорта. Вижте документацията на вашия MCP клиент за регистриране на персонализиран сървър с заглавка.

Имате нужда от крайна точка, която нямаме?

Възможности за писане, webhooks, пагинация с курсор – всичко е в плана. Кажете ни какво бихте изградили и ще приоритизираме съответно.

[email protected]