API

مرجع API

مرجع API نسخه ۱ برای تیم‌های فنی که می‌خواهند بررسی سایت، یافته‌ها، کلیدواژه‌ها، گزارش و وضعیت محتوا را از کد خودکار کنند. احراز هویت با کوکی نشست یا توکن Bearer است، همهٔ پاسخ‌ها JSON هستند و خطاها کد ماشینی برمی‌گردانند. این صفحه نحو و قراردادها را توضیح می‌دهد؛ SDK رسمی، محیط sandbox جداگانه یا تضمین زمان پاسخ ندارد.

آخرین به‌روزرسانی: 2026-11-05·نویسنده: تیم تحریریهٔ کستریلیا

احراز هویت

دو روش: کوکی نشست (برای رابط وب، با هدر x-csrf-token در درخواست‌های نوشتاری) یا توکن Bearer با پیشوند kst_. توکن‌ها فقط در پلن‌های دارای دسترسی API ساخته می‌شوند و فقط هش آن‌ها ذخیره می‌شود.

curl -s https://your-host/api/v1/projects \
  -H "Authorization: Bearer kst_xxxxxxxx"

پاسخ‌ها و خطاها

موفق: { ok: true, ... }. خطا:

{ "ok": false, "error": "Human readable", "code": "machine_code" }

کدهای رایج: 401 invalid_token، 403 forbidden، 402 plan_limit، 409 invalid_transition، 422 validation_error، 429 rate_limited.

محدودیت نرخ

  • ورود: ۱۰ تلاش در ۱۵ دقیقه به ازای IP
  • ثبت‌نام: ۵ در ساعت به ازای IP
  • بررسی عمومی: ۵ در ساعت به ازای IP
  • سایر درخواست‌ها: محدود به سقف پلن (خزش، پرسش GEO، پیش‌نویس)

نقاط پایانی

GET/api/v1/healthLiveness and database check
POST/api/v1/auth/signupCreate user, workspace and session
POST/api/v1/auth/loginEmail + password login
POST/api/v1/audit/previewPublic sample audit (rate limited, 5/hour/IP)
GET/api/v1/projectsList projects
POST/api/v1/projectsCreate a project
GET/api/v1/projects/:idProject detail and history
POST/api/v1/projects/:id/crawlRun an audit (synchronous, bounded by plan)
GET/api/v1/projects/:id/issuesFindings from the latest crawl
GET/api/v1/projects/:id/keywordsKeyword map; ?format=csv for export
POST/api/v1/projects/:id/geoRun authorized AI measurements
POST/api/v1/projects/:id/contentGenerate a brief or draft
PUT/api/v1/content/:idUpdate content, re-run quality gates
POST/api/v1/content/:id/statusApprove / publish / reject
GET/api/v1/projects/:id/reportsList reports
POST/api/v1/projects/:id/reportsGenerate a report snapshot
POST/api/v1/integrationsConnect and test a CMS or provider
GET/api/v1/tokensList API tokens
POST/api/v1/billing/checkoutStart a plan change
POST/api/v1/billing/webhookStripe webhook (signature verified)

نمونه: اجرای بررسی

curl -X POST https://your-host/api/v1/projects/PROJECT_ID/crawl \
  -H "Authorization: Bearer kst_xxxxxxxx" \
  -H "content-type: application/json"

خزش همگام اجرا می‌شود و تا سقف صفحات پلن محدود است. برای کارهای طولانی، worker را اجرا کنید و از صف استفاده کنید.

آنچه API انجام نمی‌دهد

  • بدون توکن معتبر، هیچ داده‌ای برنمی‌گرداند.
  • دسترسی نوشتن بدون scope نوشتن رد می‌شود.
  • هیچ endpointای پاسخ AI شبیه‌سازی‌شده تولید نمی‌کند.

پیش از اتصال چه باید بدانید؟

برای اسکریپت سرور به سرور کدام روش احراز هویت بهتر است؟

توکن Bearer با پیشوند kst_ برای ارتباط سرور به سرور مناسب‌تر است، چون به کوکی مرورگر و هدر CSRF وابسته نیست. توکن فقط یک‌بار نمایش داده می‌شود و تنها هش آن ذخیره می‌شود؛ آن را در متغیر محیطی نگه دارید و در پلن‌های دارای دسترسی API بسازید.

وقتی پاسخ 429 می‌گیرم چه کنم؟

به‌جای تلاش پشت‌سرهم، عقب‌گرد نمایی و صف‌کردن درخواست‌ها را انتخاب کنید؛ پاسخ 429 فیلد retryAt دارد. محدودیت‌ها: ورود ۱۰ تلاش در ۱۵ دقیقه به ازای IP، ثبت‌نام و بررسی عمومی ۵ در ساعت، و بقیهٔ فراخوانی‌ها تا سقف پلن.

تفاوت بررسی عمومی با خزش پروژه چیست؟

بررسی عمومی بدون حساب کار می‌کند، فقط یک نمونه از صفحات را می‌خواند و ۵ بار در ساعت به ازای IP محدود است. خزش پروژه احراز هویت می‌خواهد، تا سقف صفحات پلن اجرا می‌شود، در تاریخچه ذخیره می‌شود و یافته‌های آن از endpointهای issues و reports قابل خواندن است.

مرجع API · Kestralia