Resources
The four top-level resources exposed by the BimpeAI TypeScript SDK.
The client exposes four resources: agents, workflows, conversations, and calls. Every method returns a typed result, and the list methods return a value you can both await and iterate (see Pagination).
Agents
await bimpe.agents.list({ page: 2, limit: 50, search: 'support', sort: '-created_at' });
const agent = await bimpe.agents.create({ name: 'Support bot' }, { idempotencyKey: 'op-1' });
const detail = await bimpe.agents.retrieve(agent.id);
await bimpe.agents.update(agent.id, { description: 'Updated' });list returns a PagePromise<Agent>. create takes CreateAgentBody (only name is required) and returns an Agent; update takes a partial UpdateAgentBody and also returns an Agent. retrieve returns an AgentDetail, which is an Agent plus the agent's integrations, channels, conversation flows, actions, and knowledge bases inlined. Only create accepts per-call RequestOptions.
Read-only sub-resources
The read-only sub-resources each return an array, not a page.
await bimpe.agents.integrations.list(agentId);
await bimpe.agents.channels.list(agentId);
await bimpe.agents.conversationFlows.list(agentId);
await bimpe.agents.actions.list(agentId);Knowledge bases
Knowledge bases support full CRUD. The create body is a text source or a URL source, told apart by its type.
await bimpe.agents.knowledgeBases.list(agentId);
await bimpe.agents.knowledgeBases.create(agentId, { type: 'text', name: 'FAQ', content: '…' });
await bimpe.agents.knowledgeBases.create(agentId, { type: 'url', name: 'Docs', url: 'https://…' });
await bimpe.agents.knowledgeBases.update(agentId, kbId, { description: '…' });
await bimpe.agents.knowledgeBases.delete(agentId, kbId);Workflows
await bimpe.workflows.list({ scope: 'public', search: 'triage', sort: '-created_at' });
const workflow = await bimpe.workflows.create({ name: 'Triage' }, { idempotencyKey: 'op-2' });
await bimpe.workflows.retrieve(workflow.id);
await bimpe.workflows.update(workflow.id, { tags: ['v2'] });
await bimpe.workflows.delete(workflow.id);scope is owned or public. list returns a PagePromise<WorkflowSummary>; the other reads return a full Workflow, which is the summary plus system_prompt, rules, flows, tags, and prompt_config. Only create accepts per-call RequestOptions.
Conversations and messages
await bimpe.conversations.list(agentId, { channel: 'whatsapp', search: 'invoice' });
await bimpe.conversations.retrieve(agentId, conversationId);
await bimpe.conversations.messages.list(agentId, conversationId);
const sent = await bimpe.conversations.messages.send(agentId, conversationId, { message: 'Hello' });channel accepts whatsapp, messenger, instagram, webchat, and the test_* variant of each. conversations.list returns a PagePromise<Conversation> and messages.list returns a PagePromise<Message>. send takes SendMessageBody (message plus optional attachments), accepts per-call RequestOptions, and returns the created Message.
Calls
calls.list() is wired up, but the API answers with 501 today, so it throws NotImplementedError. The call site will keep working and start returning data once the endpoint ships, with no SDK change.