LotsAgent API

Build and run LotsAgent agents from your own code or AI assistant. The same tools are served over MCP and REST.

MCP

https://api.lotsagent.com/mcp

Add this server to Claude, ChatGPT or any MCP client. You sign in with your LotsAgent account and choose what the connection may do.

REST

https://api.lotsagent.com/api/v1/lotsagent/...

Send a workspace API key or an OAuth access token as a Bearer token. Responses are { success, data, meta }; errors are { success: false, error: { code, message } }.

Permissions

Each tool needs one permission: read, write, send, money or delete. A connection or key can use only the permissions it was given, and your role in each workspace still applies.

Tools

ToolWhat it doesPermissionREST
accept_invitationAccept an invitation with the token from its email link, as the signed-in person. The account email must match the invited email. Joining never lowers a role you already have.writePOST /api/v1/lotsagent/invitations/accept
accept_workspace_handoverAccept a hand-over (confirm true) as the person it was sent to.writePOST /api/v1/lotsagent/handover/accept
add_agent_read_actionAdd one action that reads from your API (an HTTP GET) to the agent by hand: an https URL template with {placeholders} in the path, query parameters and fixed headers (no keys). It is saved as a read action unless you set permission_class. Do not ask the person for a key in chat: leave auth.secret out and tell them to add the key on the agent's Tools tab.writePOST /api/v1/lotsagent/agents/:agent_id/actions/read
add_agent_toolGive an agent one or more tools of a connected app. get_app_tools lists an app's tools and their ids; list_connections shows your app accounts.writePOST /api/v1/lotsagent/agents/:agent_id/tools
add_agent_write_actionAdd one action that changes something in your API (POST, PUT, PATCH or DELETE) to the agent by hand: an https URL template with {placeholders} in the path, query parameters, fixed headers (no keys) and a JSON body schema. permission_class defaults from the method (DELETE delete, others write); writes, sends and deletes ask the person to Confirm. Do not ask the person for a key in chat: leave auth.secret out and tell them to add the key on the agent's Tools tab.writePOST /api/v1/lotsagent/agents/:agent_id/actions/write
add_knowledge_textAdd pasted text to what an agent knows, with a title and, if it has one, the public page it comes from (answers link to it). It is ready to answer from once indexed, usually within a minute.writePOST /api/v1/lotsagent/agents/:agent_id/knowledge/text
add_knowledge_websiteAdd a website to what an agent knows: one page, the pages under an address, or a sitemap. Reading starts at once and continues in the background (up to 200 pages); answers link the page they come from. Optionally re-sync it daily or weekly.writePOST /api/v1/lotsagent/agents/:agent_id/knowledge/websites
archive_agentArchive an agent: it leaves your Agents list and stops answering everywhere it is live. restore_agent brings it back.deleteDELETE /api/v1/lotsagent/agents/:agent_id
assign_skill_to_agentAssign Skill to Agent: Assign a skill to an agent. If agent_id is omitted, uses the current executing agent.writePOST /api/v1/lotsagent/agents/:agent_id/skills
cancel_invitationCancel a pending invitation; its link stops working. Owner or admin required.writeDELETE /api/v1/lotsagent/workspaces/:workspace_id/invitations/:invitation_id
cancel_workspace_handoverCancel the pending hand-over. Owner only.writeDELETE /api/v1/lotsagent/workspaces/:workspace_id/handover
check_handleCheck whether a handle is free. The handle is the agent's address name: 3 to 50 lowercase letters, numbers and hyphens.readGET /api/v1/lotsagent/agents/handle-available
create_agentCreate an agent as a draft, like the first steps of New agent. Pick a template for its starting instructions: help (a help center from your docs), app (an assistant inside your app), workflow (runs tasks on a schedule or from your systems) or blank. Next: add knowledge, test it, then put it live from Deploy.writePOST /api/v1/lotsagent/agents
create_skillCreate Skill: Create a new skill with instructions and optional references/scripts/assets.writePOST /api/v1/lotsagent/skills
create_taskSave a task for an agent: instructions it runs by hand, once at a set time, or on a schedule, such as every weekday at 9. A scheduled run has nobody to press Confirm, so an action that needs Confirm stops the run and waits for you.writePOST /api/v1/lotsagent/agents/:agent_id/tasks
create_workspaceCreate a team workspace, or a client workspace for agents you build for a client. You become its owner and its payer. Members are unlimited.writePOST /api/v1/lotsagent/workspaces
decline_workspace_handoverDecline a hand-over as the person it was sent to.writePOST /api/v1/lotsagent/handover/decline
delete_skillDelete Skill: Permanently delete an Agent Skill from the user's library. This also removes any assignments to agents. Only the skill owner can delete it. Use when the user explicitly wants to remove a skill.deleteDELETE /api/v1/lotsagent/skills/:skill_id
delete_taskDelete a saved task. Its past runs stay in Activity.deleteDELETE /api/v1/lotsagent/tasks/:task_id
disconnect_appDisconnect one of your app accounts. Every agent that used it loses those tools until you connect it again.deleteDELETE /api/v1/lotsagent/connections/:connection_id
get_agentOne agent's Overview: status, where it is live, its model, instructions and personality, what it knows (files, websites, indexing), its skills and tools, runs in the last 7 days, and whether it has been tested.readGET /api/v1/lotsagent/agents/:agent_id
get_agent_memoryWhat an agent remembers about you (Settings > Memory): notes about you and what it learned in your chats.readGET /api/v1/lotsagent/agents/:agent_id/memory
get_api_keys_linkThe console page where you make an API key. A new key is shown once, in your browser, never in a chat.readGET /api/v1/lotsagent/api-keys/link
get_app_toolsAn app's tools with their ids, to give an agent with add_agent_tool.readGET /api/v1/lotsagent/apps/:app_key/tools
get_billingYour plan, the credits it includes, your credit balance and, during the trial, the days and credits left. Buying credits and changing plans happen on the Billing page.readGET /api/v1/lotsagent/billing
get_connect_linkThe console page where you connect an app: signing in to an app happens in your browser, never in a chat.readGET /api/v1/lotsagent/apps/:app_key/connect-link
get_conversationOne chat from list_agent_conversations, in order: the person's messages, the agent's replies, and each tool step with how it ended and what happened on its Confirm card. Shown from the moment the person accepted the notice.readGET /api/v1/lotsagent/agents/:agent_id/conversations/:conversation_id
get_credits_linkThe Billing page, where you buy credits. Paying happens there, never in a chat.readGET /api/v1/lotsagent/billing/credits-link
get_knowledge_itemOne file or pasted text in an agent's knowledge: its details, its text where it has one, and its indexing state.readGET /api/v1/lotsagent/agents/:agent_id/knowledge/files/:file_id
get_knowledge_websiteOne website in an agent's knowledge: its sync state, schedule and the pages read from it (up to 100).readGET /api/v1/lotsagent/agents/:agent_id/knowledge/websites/:website_id
get_plan_linkThe Billing page, where you choose or change your plan.readGET /api/v1/lotsagent/billing/plan-link
get_profileWho you are signed in as, and your workspaces with your role in each.readGET /api/v1/lotsagent/me
get_sidebar_settingsAn agent's sidebar settings as Deploy > Sidebar shows them: on or off, test mode, the sites it may appear on, who can chat, sign-in, limits and privacy, its look, and the two-line snippet to add it to a site. Signing keys are listed without their secrets.readGET /api/v1/lotsagent/agents/:agent_id/sidebar
get_skillGet Skill Details: Get full metadata and instruction payload for a skill by ID.readGET /api/v1/lotsagent/skills/:skill_id
get_taskOne saved task with its instructions, schedule and last runs.readGET /api/v1/lotsagent/tasks/:task_id
get_task_runOne run of a task: its status, what it did, its result and what it cost.readGET /api/v1/lotsagent/task-runs/:run_id
get_usageRequests and credits used, as the Usage page shows them: in total, by agent, by model or by day. For one agent, give agent_id.readGET /api/v1/lotsagent/usage
get_web_addressAn agent's own web address as Deploy > Web address shows it: whether it is public, its lotsagent.com address, its custom domain with the DNS records to add, and whether people sign in through your app.readGET /api/v1/lotsagent/agents/:agent_id/web-address
get_workspaceOne workspace with your role.readGET /api/v1/lotsagent/workspaces/:workspace_id
get_workspace_handoverThe pending hand-over of a workspace.readGET /api/v1/lotsagent/workspaces/:workspace_id/handover
grant_support_accessLet LotsTech support (support@lotstech.com) into one workspace for a limited time so they can look at a problem and fix it. Support joins as Support and can never change billing, payments, the owner or the team. Without confirmed: true it changes nothing and returns the consent text; grant only after the person has read it and said yes. duration is 24h, 7d (default) or 30d. may_publish (default false) lets support publish fixes live. Granting again while access is on changes the end time. LotsTech support hears about it by email.sendPOST /api/v1/lotsagent/workspaces/:workspace_id/support-access
import_openapi_actionsAdd operations of an OpenAPI 3 document to the agent as actions. operations: the keys from preview_openapi_actions ("GET /orders/{id}"), each optionally with its own name, permission_class (read, write, send, delete), confirm_override (default, always, never) and audience (owner, everyone). Writes, sends and deletes ask the person to Confirm by default. Do not ask the person for a key in chat: leave auth.secret out and tell them to add the key on the agent's Tools tab.writePOST /api/v1/lotsagent/agents/:agent_id/actions/import
import_skillImport Skill from GitHub: Import a skill definition from a GitHub repository URL.writePOST /api/v1/lotsagent/skills/import
invite_workspace_memberInvite someone to a workspace by email, with or without a Lots account. They get an email link, sign in or sign up with that email, and join with the role you chose. Inviting an email that already has a pending invitation sends a fresh link. owner cannot be invited. Owner or admin required. Members are unlimited.sendPOST /api/v1/lotsagent/workspaces/:workspace_id/invitations
leave_workspaceLeave a workspace you were invited to; you lose access at once. The owner cannot leave their own workspace.writePOST /api/v1/lotsagent/workspaces/:workspace_id/leave
list_activityWhat your agents did, newest first, as Activity shows it: chats, scheduled tasks and API calls, with status and credits. For one agent, give agent_id.readGET /api/v1/lotsagent/activity
list_agent_action_callsRecent calls of the agent's actions, newest first: action, where it ran, result, HTTP status, time and size. Never the arguments, the answer or keys.readGET /api/v1/lotsagent/agents/:agent_id/actions/calls
list_agent_actionsThe agent's own HTTP actions (its own API as tools): name, method, URL, permission class, whether a call asks for Confirm, who can use it, and whether a key is saved. Keys are never shown.readGET /api/v1/lotsagent/agents/:agent_id/actions
list_agent_api_keysAn agent's own API keys: name, the first characters, when last used. Never the key itself.readGET /api/v1/lotsagent/agents/:agent_id/api-keys
list_agent_conversationsThe chats people had with one agent in its sidebar and on its web address, newest first: date, person (name or email when the app signed them in, else Visitor) and message count. Only chats whose person was told by the agent's notice that their chat may be read, from that moment on; reading is off until the owner turns on "Let people know I may read their chats". search matches the person and the text of the newest chats.readGET /api/v1/lotsagent/agents/:agent_id/conversations
list_agent_skillsList Agent Skills: List skills currently assigned to an agent. If agent_id is omitted, uses the current executing agent.readGET /api/v1/lotsagent/agents/:agent_id/skills
list_agent_toolsThe tools an agent can use, as its Tools tab shows them: each app tool with whether it is on and required, plus which of your app accounts it uses.readGET /api/v1/lotsagent/agents/:agent_id/tools
list_agentsList your agents as the Agents page shows them: name, handle, status (live, testing, draft or archived), where each one is live (sidebar, web address, API or MCP, schedules), conversations and credits in the last 7 days, and when it was last active. Archived agents are listed only with archived set to true.readGET /api/v1/lotsagent/agents
list_available_appsThe apps an agent can use as tools, as the Tools page lists them, with whether you have connected each one.readGET /api/v1/lotsagent/apps
list_connectionsYour app accounts connected to LotsAgent: which app, which account, and when it was connected.readGET /api/v1/lotsagent/connections
list_conversationsHow many sidebar and web address conversations each agent had per day over the last 14 days. Counts only, never what was said.readGET /api/v1/lotsagent/conversations
list_credit_transactionsCredits added and used, newest first.readGET /api/v1/lotsagent/billing/transactions
list_invitationsList a workspace's invitations (pending by default; status all for history). Owner or admin required.readGET /api/v1/lotsagent/workspaces/:workspace_id/invitations
list_knowledgeWhat an agent knows, as its Knowledge tab shows it: files and pasted text with their indexing state, and websites with their pages, schedule and last sync.readGET /api/v1/lotsagent/agents/:agent_id/knowledge
list_knowledge_gapsQuestions people asked that the agent's knowledge could not answer, most asked first, so you know what to add. Open ones by default.readGET /api/v1/lotsagent/agents/:agent_id/knowledge-gaps
list_modelsThe models a new agent can run on, and the default. Pass one of them as model to create_agent or update_agent.readGET /api/v1/lotsagent/models
list_skillsList Skills: List skills available to the user and platform, including optional filtering.readGET /api/v1/lotsagent/skills
list_support_accessWhether LotsTech support has access to this workspace, until when, and what support did there. available false means support access is not set up yet.readGET /api/v1/lotsagent/workspaces/:workspace_id/support-access
list_task_runsA saved task's runs, newest first, with status, when and how long.readGET /api/v1/lotsagent/tasks/:task_id/runs
list_tasksAn agent's saved tasks (Deploy > Schedules): each with how it runs (by hand, once or on a schedule), whether it is on, and its next run.readGET /api/v1/lotsagent/agents/:agent_id/tasks
list_usage_logsEach request with its model, tokens and credits, newest first.readGET /api/v1/lotsagent/usage/logs
list_workspace_api_keysYour API keys from Settings, API Keys: name, the first characters, access, when last used and when they expire. Never the key itself.readGET /api/v1/lotsagent/api-keys
list_workspace_membersList the people in a workspace with their email, name and role. Pending invitations are in list_invitations.readGET /api/v1/lotsagent/workspaces/:workspace_id/members
list_workspacesList the LotsAgent workspaces you belong to, with your role in each (owner, admin, member or viewer). Your personal workspace is always there; team and client workspaces follow.readGET /api/v1/lotsagent/workspaces
preview_openapi_actionsRead an OpenAPI 3 document (its https URL, or the JSON or YAML text) and list its operations as actions the agent could use, with the suggested auth. Nothing is saved. Then call import_openapi_actions with the operations to add.readPOST /api/v1/lotsagent/agents/:agent_id/actions/openapi
preview_workspace_handoverWhat a hand-over moves, for the person it was sent to.readPOST /api/v1/lotsagent/handover/preview
reindex_knowledge_itemIndex a knowledge file again, for example after it failed. It keeps answering from the old index until the new one is ready.writePOST /api/v1/lotsagent/agents/:agent_id/knowledge/files/:file_id/reindex
remove_agent_actionRemove one action from the agent, with its saved key.deleteDELETE /api/v1/lotsagent/agents/:agent_id/actions/:action_id
remove_agent_toolTake a tool off an agent. add_agent_tool puts it back.writeDELETE /api/v1/lotsagent/agents/:agent_id/tools/:tool_id
remove_custom_domainTake an agent off its custom domain. The domain stops answering at once.deleteDELETE /api/v1/lotsagent/agents/:agent_id/custom-domain
remove_knowledge_itemRemove a file or pasted text from an agent's knowledge. The agent stops answering from it at once.deleteDELETE /api/v1/lotsagent/agents/:agent_id/knowledge/files/:file_id
remove_knowledge_websiteRemove a website and every page read from it from an agent's knowledge. The agent stops answering from it at once.deleteDELETE /api/v1/lotsagent/agents/:agent_id/knowledge/websites/:website_id
remove_skill_from_agentRemove Skill from Agent: Remove a skill assignment from an agent. If agent_id is omitted, uses the current executing agent.writeDELETE /api/v1/lotsagent/agents/:agent_id/skills/:skill_id
remove_workspace_memberRemove someone from a workspace: they lose access at once. The agents they built stay. The owner cannot be removed, and an admin cannot remove another admin. Owner or admin required. To come back they need a new invitation.deleteDELETE /api/v1/lotsagent/workspaces/:workspace_id/members/:user_id
resend_invitationEmail a pending invitation again with a fresh link (the old link stops working) and a new 7-day expiry. Owner or admin required.sendPOST /api/v1/lotsagent/workspaces/:workspace_id/invitations/:invitation_id/resend
restore_agentBring an archived agent back to your Agents list as active. Where it was live stays off until you switch it on again.writePOST /api/v1/lotsagent/agents/:agent_id/restore
revoke_agent_api_keyRevoke one of an agent's API keys. Anything using it stops working at once.deleteDELETE /api/v1/lotsagent/agents/:agent_id/api-keys/:key_id
revoke_support_accessEnd LotsTech support's access to this workspace now. Support leaves the team at once.deleteDELETE /api/v1/lotsagent/workspaces/:workspace_id/support-access
revoke_workspace_api_keyRevoke one of your API keys. Anything using it stops working at once.deleteDELETE /api/v1/lotsagent/api-keys/:key_id
run_taskRun a saved task now, in the background. It costs credits like any run. The answer has a run id: get_task_run shows how it went.writePOST /api/v1/lotsagent/tasks/:task_id/run
set_agent_mcp_accessSwitch on or off whether AI apps can connect to this agent as a tool over MCP (Deploy > API and MCP). Switching it on lets anyone you give the agent's MCP address to connect with their own sign-in.sendPUT /api/v1/lotsagent/agents/:agent_id/mcp-access
set_custom_domainPut an agent on your own domain, such as help.example.com. The answer lists the DNS records to add; then verify_custom_domain. The agent must be public, or people must sign in through your app.sendPOST /api/v1/lotsagent/agents/:agent_id/custom-domain
set_web_addressMake an agent public or private, and switch its lotsagent.com address on or off. A public agent on its address answers anyone who opens it, and you pay for those chats.sendPATCH /api/v1/lotsagent/agents/:agent_id/web-address
start_workspace_handoverHand a workspace over to a client by email. Owner only.sendPOST /api/v1/lotsagent/workspaces/:workspace_id/handover
stop_agentStop now: take an agent's sidebar off every site at once. Its settings are kept; update_sidebar_settings with enabled true puts it back.writePOST /api/v1/lotsagent/agents/:agent_id/stop
sync_knowledge_websiteRead a website in an agent's knowledge again now (Re-sync now). Changed pages are updated and removed pages are dropped.writePOST /api/v1/lotsagent/agents/:agent_id/knowledge/websites/:website_id/sync
test_agentSend an agent one message and read its reply, like its Test screen. It costs credits like any chat. Actions that need someone to press Confirm are not run; the reply says so. Pass session_id from the answer to continue the same chat.writePOST /api/v1/lotsagent/agents/:agent_id/test
test_agent_actionCall one action now with the given input and the saved key, like the Test button on the Tools tab. It reaches the real API, so a write really happens. Returns the HTTP status and the answer (capped).sendPOST /api/v1/lotsagent/agents/:agent_id/actions/:action_id/test
update_agentChange an agent's settings: name, description, status (draft or active), instructions, personality, model, role, tone or emoji. Only the fields you give change.writePATCH /api/v1/lotsagent/agents/:agent_id
update_agent_limitsChange an agent's limits and privacy (Deploy > Sidebar, Limits and privacy): messages per person per day, the daily spend cap and when to email you, the timezone the day starts in, how long chats are kept, and the notice people see before they chat.writePATCH /api/v1/lotsagent/agents/:agent_id/limits
update_agent_lookChange how an agent's sidebar looks (the Look tab): the button and its label, sidebar, inline or full screen, which side, the colour, the title, the welcome line and up to 4 starter questions. Only the fields you give change. The avatar is changed in the console.writePATCH /api/v1/lotsagent/agents/:agent_id/look
update_agent_memoryChange what an agent remembers about you: replace or add to its memory, or set notes about you. Send empty text to clear it.writePATCH /api/v1/lotsagent/agents/:agent_id/memory
update_agent_read_actionChange one read action (an HTTP GET): only the fields you send change. is_enabled false turns it off. A new auth.secret replaces the saved key; clear_secret true removes it. A write action is changed with update_agent_write_action.writePATCH /api/v1/lotsagent/agents/:agent_id/actions/:action_id/read
update_agent_toolSwitch one of an agent's tools on or off, or mark it required.writePATCH /api/v1/lotsagent/agents/:agent_id/tools/:tool_id
update_agent_write_actionChange one write action (POST, PUT, PATCH or DELETE): only the fields you send change. is_enabled false turns it off. A new auth.secret replaces the saved key; clear_secret true removes it. A read action is changed with update_agent_read_action.writePATCH /api/v1/lotsagent/agents/:agent_id/actions/:action_id/write
update_knowledge_gapMark a knowledge gap covered (you added what answers it), ignored, or open again.writePATCH /api/v1/lotsagent/agents/:agent_id/knowledge-gaps/:gap_id
update_knowledge_itemChange a knowledge file's title, description or public page link, or replace the content of pasted text or a text file (it is indexed again; the old version keeps answering until the new one is ready).writePATCH /api/v1/lotsagent/agents/:agent_id/knowledge/files/:file_id
update_knowledge_websiteChange how often a website in an agent's knowledge is read again: off, daily or weekly.writePATCH /api/v1/lotsagent/agents/:agent_id/knowledge/websites/:website_id
update_sidebar_settingsPut an agent's sidebar live or take it off, switch test mode (works on localhost only), set the sites it may appear on, and choose whether anyone can chat without signing in. Going live, adding sites and letting anyone chat put the agent in front of people.writePATCH /api/v1/lotsagent/agents/:agent_id/sidebar
update_skillUpdate Skill: Update an existing Agent Skill's configuration, instructions, or metadata. Only the skill owner can update it. Use when the user wants to modify a skill they own.writePATCH /api/v1/lotsagent/skills/:skill_id
update_taskChange a saved task: its name, instructions or schedule, or switch it on or off. Only the fields you give change.writePATCH /api/v1/lotsagent/tasks/:task_id
update_workspaceRename a workspace, or change its client's name and contact email. Owner or admin required.writePATCH /api/v1/lotsagent/workspaces/:workspace_id
update_workspace_memberChange a member's role to admin, member or viewer. owner can never be granted and the owner's role cannot be changed; an admin cannot change another admin. Owner or admin required.deletePATCH /api/v1/lotsagent/workspaces/:workspace_id/members/:user_id
verify_custom_domainCheck an agent's custom domain again: whether its DNS records are in place and its certificate is ready.writePOST /api/v1/lotsagent/agents/:agent_id/custom-domain/verify