ڈویلپرز
ZeeDo API
آخری تازہ کاری 2026-11-07۔OpenAPI 3.1224 آپریشنزOpenAPI 3.1 دستاویز ڈاؤن لوڈ کریں
جو کچھ کوئی انسان ZeeDo میں کر سکتا ہے، وہ Pro اور اس سے اوپر کے پلانز پر کوئی پروگرام API کے ذریعے کر سکتا ہے؛ Starter کی کنجیاں صرف پڑھتی ہیں، اور Free میں کوئی کنجی نہیں۔ ورک اسپیس حذف کرنا اور وہ کام جن میں کسی انسان کو اپنی شناخت کی تصدیق کرنی ہو، براؤزر ہی میں رہتے ہیں۔
دستاویز سے کلائنٹ بنائیں: یہ وہی ہے جس کے مطابق پروڈکٹ بنایا اور جانچا جاتا ہے۔
فوری آغاز
کنجیاں، طریقۂ کار اور حدیں
سیٹنگز → API اور ویب ہکس میں ایک کنجی بنائیں (پہلے کوئی مالک اپنی شناخت کی تصدیق کرتا ہے)، پھر اسے bearer token کے طور پر استعمال کر کے API کو کال کریں۔ بنیادی URL https://api.zeedo.cloud/v1 ہے۔
curl https://api.zeedo.cloud/v1/me \
-H "Authorization: Bearer <آپ کی API کنجی>"- کنجیاں ادارے کی ملکیت ہوتی ہیں، ان کا ایک دائرہ ہوتا ہے —
read،writeیاadmin— اور انہیں ایک ورک اسپیس تک محدود رکھا جا سکتا ہے۔ - JSON باڈیز، snake_case فیلڈز، اوقات ISO 8601 UTC میں۔
- غلطیاں RFC 9457 کی problem دستاویزات ہوتی ہیں:
type،title،status،detailاور، مسترد شدہ فیلڈ کے لیے، JSON pointer کے ساتھerrors[]۔ - فہرستیں
limit(زیادہ سے زیادہ 200) اورnext_cursorکے ساتھ صفحوں میں آتی ہیں۔ - ہر POST کے ساتھ
Idempotency-Keyہیڈر بھیجیں: 24 گھنٹوں کے اندر دہرائی گئی کال کا جواب وہی ہوتا ہے جو پہلی کا تھا۔ - فی کنجی ایک منٹ میں 600 درخواستیں اور 10 کھلی اسٹریمز،
RateLimit-*ہیڈرز کے ساتھ۔
ویب ہکس
آپ کے چنے ہوئے ایونٹس کی دستخط شدہ ترسیل
ایک ادارہ ایک اینڈ پوائنٹ رجسٹر کرتا ہے (سیٹنگز → API اور ویب ہکس، یا POST /webhooks) اور اپنے ایونٹس منتخب کرتا ہے۔ ہر ایونٹ JSON کا ایک POST ہوتا ہے جس میں ids، قسم اور ٹائم اسٹیمپس ہوتے ہیں — کبھی کسی انسان کا نام، ای میل یا IP پتہ نہیں، جو آپ کنجی کے ساتھ API سے واپس پڑھتے ہیں۔
{
"id": "evt_eu_01J9ZQ3M7X5V2K8R4T6Y1N0PBA",
"type": "run.completed",
"version": 1,
"occurred_at": "2026-09-27T10:02:31.000Z",
"org_id": "org_eu_01J9ZQ1C4H8D6F2W5S7K3M9QXE",
"data": {
"run_id": "run_eu_01J9ZQ2V8N4B6C1X3Z5Q7W9ERT",
"bot_id": "bot_eu_01J9ZQ2A3S5D7F9G1H3J5K7L9M"
}
}ہر ترسیل پر دستخط ہوتے ہیں: ZeeDo-Signature: t=<unix سیکنڈ>,v1=<دستخط>، جہاں دستخط <t>.<خام باڈی> کا hex HMAC-SHA256 ہے جو آپ کے اینڈ پوائنٹ کے راز سے بنتا ہے۔ راز بدلنے کے بعد پچھلا راز 24 گھنٹے تک ساتھ ساتھ دوسرے v1 کے طور پر دستخط کرتا ہے۔ 5 منٹ سے پرانا دستخط مسترد کریں۔
import { createHmac, timingSafeEqual } from 'node:crypto';
// header: ZeeDo-Signature کی قدر؛ body: درخواست کی خام باڈی، کسی بھی JSON پارسنگ سے پہلے
export function verified(header, body, secret) {
const parts = header.split(',');
const t = parts.find((p) => p.startsWith('t='))?.slice(2);
if (!t || Math.abs(Date.now() / 1000 - Number(t)) > 300) return false;
const expected = createHmac('sha256', secret).update(`${t}.${body}`).digest('hex');
return parts.filter((p) => p.startsWith('v1=')).some((p) =>
p.length === expected.length + 3 && timingSafeEqual(Buffer.from(p.slice(3)), Buffer.from(expected)));
}- 10 سیکنڈ کے اندر کسی بھی 2xx سے جواب دیں۔ اس کے علاوہ کچھ بھی — غلطی، ری ڈائریکٹ، کوئی جواب نہیں — 24 گھنٹے تک بڑھتے وقفوں سے دوبارہ بھیجا جاتا ہے؛ پھر ترسیل dead letter بن جاتی ہے، 7 دن رکھی جاتی ہے اور سیٹنگز سے دوبارہ بھیجی جا سکتی ہے۔
- ترسیل کم از کم ایک بار اور کسی خاص ترتیب کے بغیر ہوتی ہے: جو
idآپ پہلے سنبھال چکے ہوں اسے چھوڑ دیں۔ - درخواستوں میں
ZeeDo-Event-Id،ZeeDo-Event-TypeاورZeeDo-Delivery-Idبھی ہوتے ہیں۔ اینڈ پوائنٹس کسی عوامی ہوسٹ نام پر پورٹ 443 پر https ہوتے ہیں۔ - ایونٹس:
alert.fired،approval.decided،approval.requested،billing.service_state_changed،bot.state_changed،budget.threshold،connection.created،connection.error،consent.recorded،memory.note_created،policy.updated،run.cancelled،run.completed،run.failed،run.parked،task.completed، اورtask.created۔ - اپنا اینڈ پوائنٹ جانچنے کے لیے سیٹنگز → API اور ویب ہکس میں “آزمائشی بھیجیں” دبائیں:
webhook.testقسم کی ایک ترسیل، خالیdataکے ساتھ، باقی سب کی طرح دستخط شدہ، آپ نے جو بھی ایونٹس چنے ہوں، بھیجی جاتی ہے۔ ایک منٹ میں زیادہ سے زیادہ ایک بار۔
آپریشنز
224 آپریشنز. OpenAPI دستاویز ہر ایک کے پیرامیٹرز، باڈیز، دائرے اور غلطیاں بتاتی ہے۔
اخراجات
- GET
/costsCost breakdown, grouped by bot, model, tool, member or day
ادارہ
- GET
/orgGet the organisation - PATCH
/orgUpdate the organisation - GET
/org/eu-checksWhere the organisation's model checks are made - PUT
/org/eu-checksKeep every model check in the EU, or stop keeping them there
اراکین
- GET
/membersList members - POST
/membersAdd a member - GET
/members/{id}Get a member - PATCH
/members/{id}Update a member - their role and their grants - DELETE
/members/{id}Remove a member - POST
/members/{id}/transfer-ownershipTransfer ownership of the organisation
الرٹ کے اصول
- GET
/alert-rulesList alert rules - POST
/alert-rulesCreate an alert rule - GET
/alert-rules/{id}Get an alert rule - PATCH
/alert-rules/{id}Change an alert rule's channels or settings - DELETE
/alert-rules/{id}Remove an alert rule
الرٹس
- GET
/alertsList fired alerts
آڈٹ لاگ
- GET
/auditList audit events - GET
/audit/exportExport audit events
براؤزر سیشنز
- GET
/browser-sessionsList browser sessions - GET
/browser-sessions/{id}Get a browser session
براہِ راست اسٹریم
- GET
/streamServer-sent event stream
بلنگ
- GET
/billingThe organisation's billing overview - GET
/billing/invoicesList the organisation's invoices - PUT
/billing/detailsSave the organisation's billing details - POST
/billing/checkout-sessionsOpen a Stripe Checkout for the first purchase or a reactivation - POST
/billing/previewsPreview what a billing change costs now and at renewal - POST
/billing/changesChange a plan, an add-on, managed keys or the interval - GET
/billing/changes/{id}Get a billing change - DELETE
/billing/changes/{id}Undo a scheduled change, or void a pending payment - PATCH
/billing/workspaces/{workspace_id}Set a workspace's managed-key opt-in or recording days - POST
/billing/cancellationCancel the subscription at the end of the paid period - DELETE
/billing/cancellationRevoke a scheduled cancellation - POST
/billing/portal-sessionsOpen Stripe's Customer Portal - POST
/billing/payment-retryRetry the owed invoices now
بوٹ
- GET
/botsList bots - POST
/botsCreate a bot - GET
/bots/exportExport a workspace's bots and their budgets - GET
/bots/{id}Get a bot, with its schedule and budget - PATCH
/bots/{id}Change a bot - who it is, its model, schedule, budget and manager - DELETE
/bots/{id}Delete a bot - POST
/bots/{id}/pausePause a bot - PUT
/bots/{id}/pinPin a bot for the caller - DELETE
/bots/{id}/pinUnpin a bot for the caller - PUT
/bots/{id}/look-outTurn a bot's look-out on or off - POST
/bots/{id}/packages/emptyEmpty a bot's installed packages - PUT
/bots/{id}/rules/{rule}/shapeSet what a person's rule checks - POST
/bots/{id}/rules/{rule}/keysAdd an exact address to a person's rule - POST
/bots/{id}/rule-questions/{q}/answerAnswer a question about a person's rule - POST
/bots/{id}/rules/{rule}/undoUndo a rule kept from a person's message - POST
/bots/{id}/rules/{rule}/put-backPut back a rule just undone - POST
/bots/{id}/rules/{rule}/restoreBring back a stopped rule - POST
/bots/{id}/rule-exceptions/{e}/voidTake back a step allowed once - POST
/bots/{id}/messages/{m}/keep-as-ruleKeep a person's message as a rule - POST
/bots/{id}/rules/{rule}/retireStop using a person's rule - POST
/bots/{id}/rulesAdd a person's rule for a bot - PATCH
/bots/{id}/rules/{rule}Change the words of a person's rule - POST
/bots/{id}/kept-lines/{line}/keep-as-ruleKeep a line kept from the chat as a rule - POST
/bots/{id}/resumeResume a paused bot - POST
/bots/{id}/stopStop a bot (its open run ends, cancelled on blocker stopped; the bot returns to its schedule) - POST
/bots/{id}/archiveArchive (fire) a bot - GET
/bots/{id}/filesList a bot's files as its Files tab shows them - GET
/bots/{id}/conversationRead a bot's chat record - GET
/bots/{id}/conversation/searchSearch a bot's chat record - GET
/bots/{id}/messagesRead a bot's conversation - POST
/bots/{id}/messagesSend a message to a bot - POST
/bots/{id}/runStart a run now - GET
/bots/{id}/instructionsRead the instruction stack a bot runs on - POST
/bots/{id}/brief-proposalsPropose a change of a bot's brief - PATCH
/bots/{id}/approvals/{class}Change whether a bot needs approval for an action class
بوٹ کی دیکھی گئی باتیں
- POST
/findings/{id}/helpAsk the bot to help with a finding - POST
/findings/{id}/dismissDismiss a finding - POST
/findings/{id}/muteStop the bot telling this kind of finding
تجوری
- GET
/vault/entriesList the credential vault's entries - GET
/vault/entries/{id}Get a vault entry - POST
/vault/entries/{id}/revealReveal a credential to the person asking
تعاملی کارڈز
- GET
/cardsList interaction cards - GET
/cards/{id}Get an interaction card - POST
/cards/{id}/answerAnswer an interaction card (answer, approve, deny or skip)
ٹولز
- GET
/toolsList tools - PATCH
/tools/{id}Adjust an imported tool's classification
حقوقِ استعمال
- GET
/entitlementsGet the entitlements of the organisation
دعوت نامے
- GET
/invitesList invitations - POST
/invitesInvite a member - DELETE
/invites/{id}Revoke an invitation - POST
/invites/{id}/resendSend an invitation again
ڈیش بورڈز
- GET
/dashboards/spendThe organisation's spend, by workspace, team, model or member - GET
/dashboards/runsHow the organisation's jobs went, per bot and per trigger, with approval waits - GET
/dashboards/toolsTool calls, errors and latency per connector and tool, and per hour
رازداری
- GET
/privacy/erasureList erasure requests - POST
/privacy/erasureRequest erasure of personal data - GET
/privacy/erasure/{id}Get an erasure request - POST
/privacy/exportRequest an export of the organisation - GET
/privacy/exportsList exports - GET
/privacy/exports/{id}Get an export - GET
/privacy/exports/{id}/downloadDownload an export
رن
- GET
/runsList runs - GET
/runs/{id}Get a run - GET
/runs/{id}/stepsList the steps of a run - POST
/runs/{id}/forkFork a run from a step, with a changed instruction - POST
/runs/{id}/cancelCancel a run (stops its bot, or that job alone when it stands aside; it ends cancelled on blocker stopped) - POST
/runs/{id}/recheckAsk a run parked because the AI service did not answer to check again now - GET
/runs/{id}/artifacts/archiveDownload a run's files as one archive
روزانہ خلاصہ
- GET
/alert-digestGet a workspace's scheduled digest - PUT
/alert-digestSet or turn off a workspace's scheduled digest
سرفیسز
- GET
/surfaces/{id}/hold/stepsThe steps so far of your own recording on a bot's screen - POST
/surfaces/{id}/hold/capturePause or resume your own recording on a bot's screen - POST
/surfaces/{id}/streamWatch a bot's live screen, or take it over
سنگل سائن آن
- GET
/sso/connectionsList SSO connections - POST
/sso/connections/syncRefresh the SSO connection mirror from WorkOS - POST
/sso/portal-linkCreate a WorkOS admin portal link - PATCH
/ssoChange the organisation's SSO settings
سیشنز
- GET
/sessionsList sessions - DELETE
/sessions/{id}Revoke a session
فائلیں
- GET
/artifactsList artifacts - DELETE
/artifacts/{id}Delete an artefact - GET
/artifacts/{id}/contentDownload an artefact's file - GET
/artifacts/{id}/previewPreview the first lines, rows or blocks of an artefact's file
فراہم کنندگان
- GET
/providersList providers - POST
/providersRegister a provider - GET
/providers/{id}Get a provider - PATCH
/providers/{id}Rename, disable or re-enable a provider, or price a custom endpoint's models - DELETE
/providers/{id}Remove a provider - POST
/providers/{id}/keysAdd or rotate a provider key - DELETE
/providers/{id}/keys/{key_id}Revoke a provider key - POST
/providers/{id}/probeValidate a provider's key, and probe a custom endpoint - GET
/providers/key-recipientGet the public key a provider key is sealed to - GET
/providers/defaultsGet the workspace's default models - PUT
/providers/defaultsSet the workspace's default model for a purpose - DELETE
/providers/defaults/{purpose}Clear a purpose's own model - GET
/providers/chainsGet the fallback chains - PUT
/providers/chainsReplace the fallback chains
فیصلے
- GET
/decisionsList decisions
کال کرنے والا
- GET
/meDescribe the calling principal
کام
- GET
/tasksList tasks - POST
/tasksGive a bot a task - PATCH
/tasks/{id}Move or change a task
کام کی تفصیل کی تجاویز
- GET
/brief-proposalsList the proposed changes of bots' briefs - GET
/brief-proposals/{id}Get a proposed change of a bot's brief - POST
/brief-proposals/{id}/answerAnswer a proposed change of a brief, or a rule card
کنکشنز
- GET
/connectionsList connections - POST
/connectionsCreate a connection - GET
/connections/{id}Get a connection - PATCH
/connections/{id}Change who may use a connection - DELETE
/connections/{id}Remove a connection - PUT
/connections/{id}/keyReplace a connection's key
کنیکٹرز
- GET
/connectorsList connectors
ماڈلز
- GET
/modelsList the model catalog
مستقل اصول
- GET
/standing-approvalsList standing approvals - POST
/standing-approvalsCreate a standing approval - DELETE
/standing-approvals/{id}Revoke a standing approval
مشینیں
- GET
/machinesThe workspace's machine and the machine pill's figures
معطلیاں
- POST
/suspensions/{id}/appealAppeal a suspension
معمولات
- GET
/automationsList a bot's automations - POST
/automationsSchedule an automation - GET
/automations/{id}Get an automation - PATCH
/automations/{id}Pause, resume, cancel or change an automation - DELETE
/automations/{id}Cancel an automation - POST
/automations/{id}/adoptKeep a bot's tainted automation as the caller's own
منظوریاں
- GET
/approvalsList approvals - POST
/approvals/{id}/decideDecide an approval (approved or denied, optionally granting a standing approval)
نگرانیاں
- GET
/watchesList standing watches - GET
/watches/{id}Get a standing watch - PATCH
/watches/{id}Pause, resume or cancel a standing watch
ورک اسپیسز
- GET
/workspacesList workspaces - POST
/workspacesCreate a workspace - GET
/workspaces/{id}Get a workspace - PATCH
/workspaces/{id}Update a workspace - POST
/workspaces/{id}/uploadsStore a file to hand to a bot - DELETE
/workspaces/{id}/uploads/{upload_id}Remove a file before it is sent - GET
/workspaces/{id}/budgetGet the workspace budget a person set - PUT
/workspaces/{id}/budgetSet, change or remove the workspace budget - GET
/workspaces/{id}/report-recipientsGet who gets a copy of the workspace's monthly report - PUT
/workspaces/{id}/report-recipientsSet who gets a copy of the workspace's monthly report - GET
/workspaces/{id}/usageGet the share of the AI usage the plan includes and its dates - GET
/workspaces/{id}/activityRead the workspace's activity feed - GET
/workspaces/{id}/egressThe workspace's egress allowlist and host deny list - PUT
/workspaces/{id}/egressReplace the workspace's egress allowlist and host deny list - GET
/workspaces/{id}/policyGet the workspace policy - PATCH
/workspaces/{id}/policyChange the workspace policy - GET
/workspaces/{id}/policy-documentGet the workspace policy document - PUT
/workspaces/{id}/policy-documentReplace the workspace policy document - GET
/workspaces/{id}/standingThe workspace's standing - its suspension in force and its fair-use flag
ویب ہکس
- GET
/webhooksList the organisation's webhook endpoint - POST
/webhooksRegister the organisation's webhook endpoint - GET
/webhooks/{id}Read the webhook endpoint - PATCH
/webhooks/{id}Change the webhook endpoint - DELETE
/webhooks/{id}Remove the webhook endpoint - POST
/webhooks/{id}/rotate-secretRotate the webhook signing secret - GET
/webhooks/{id}/deliveriesList the webhook deliveries and dead letters - POST
/webhooks/{id}/deliveries/{delivery_id}/replaySend a dead letter again - POST
/webhooks/{id}/testSend a test delivery
یادداشت
- GET
/memory/searchSearch memory - GET
/memory/factsList facts - POST
/memory/notesCreate a note - DELETE
/memory/notes/{id}Delete a note - GET
/memory/procedures/{path}Get a procedure - PUT
/memory/procedures/{path}Create or replace a procedure - GET
/memory/episodes/{id}Get an episode - POST
/memory/{kind}/{id}/pinPin a memory item - POST
/memory/{kind}/{id}/retractRetract a memory item - POST
/memory/erasuresErase memory - GET
/memory/erasures/{id}Get a memory erasure - POST
/memory/{kind}/{id}/confirmConfirm a note or a relation - GET
/memory/capturesList the steps people showed or took over, waiting to be saved as flows - POST
/memory/captures/{id}/saveSave captured steps as a flow - DELETE
/memory/captures/{id}Discard captured steps
API کنجیاں
- GET
/api-keysList API keys - POST
/api-keysCreate an API key - DELETE
/api-keys/{id}Revoke an API key - POST
/api-keys/{id}/rotateRotate an API key
MCP سرورز
- GET
/mcp-serversList MCP servers - POST
/mcp-serversRegister an MCP server - POST
/mcp-servers/previewCheck an MCP server before registering it - DELETE
/mcp-servers/{id}Remove an MCP server that has no tools - GET
/mcp-servers/{id}/accessRead each bot's access to an MCP server - PUT
/mcp-servers/{id}/accessSet bots' access to an MCP server - POST
/mcp-servers/{id}/reopenOpen a rejected MCP server for another review - POST
/mcp-servers/{id}/pausePause an MCP server - POST
/mcp-servers/{id}/resumeResume a paused MCP server - POST
/mcp-servers/{id}/turn-onTurn a rejected MCP server back on - POST
/mcp-servers/{id}/approveApprove an MCP server - POST
/mcp-servers/{id}/rejectReject an MCP server - POST
/mcp-servers/{id}/discoverImport an MCP server's tools
پاتھس، خلاصے اور کوڈ کی مثالیں OpenAPI دستاویز کے اپنے الفاظ ہیں اور انگریزی میں رہتے ہیں، تاکہ اس سے بنا کلائنٹ بھی وہی کہے۔