# Nanonets Agents Platform > Programmatically run AI agents, send follow-up messages, fetch results, and update agent prompts. ## Docs - [Create agent](https://agents.nanonets.com/docs/api-reference/agents/create-agent.md): Create a new agent in the caller's workspace. All fields are optional — if omitted, the server picks an `Untitled Agent N` name and applies the default config (default-enabled tools, empty prompt). The created agent is published as version 1 and ready to run immediately. - [Delete agent](https://agents.nanonets.com/docs/api-reference/agents/delete-agent.md): Soft-delete an agent. Subsequent calls referencing this agent return 404. - [Get agent](https://agents.nanonets.com/docs/api-reference/agents/get-agent.md) - [List agent versions](https://agents.nanonets.com/docs/api-reference/agents/list-agent-versions.md): Lists every version in the same agent group (drafts + published + archived). Versions share a stable `agent_group_id`; each version has its own `agent_id` and a sequential `version_number`. - [List agents](https://agents.nanonets.com/docs/api-reference/agents/list-agents.md): List agents in the caller's workspace. Cursor-paginated. Filter by free-text name match (`q`) and status. - [Publish agent version](https://agents.nanonets.com/docs/api-reference/agents/publish-agent-version.md): Promote the draft in this agent's group to a published version. Fails with `409` if no draft exists. - [Run an agent](https://agents.nanonets.com/docs/api-reference/agents/run-agent.md): Create a new task for the specified agent. Two body formats are accepted: - [Update agent](https://agents.nanonets.com/docs/api-reference/agents/update-agent.md): Hot-patch the agent in place — changes are live immediately on the next run. No new version is created. Use `system_prompt` for the common case of just editing the prompt; use `config` to replace the entire configuration object. - [Create Config](https://agents.nanonets.com/docs/api-reference/configuration-management/create-config.md): Save a reusable configuration for parse, extract, or classify operations. Returns a `config://` URI that can be referenced in subsequent requests. - [Get Config](https://agents.nanonets.com/docs/api-reference/configuration-management/get-config.md): Retrieve a saved configuration by its UUID. - [List Configs](https://agents.nanonets.com/docs/api-reference/configuration-management/list-configs.md): List saved configurations with pagination. Optionally filter by config type. - [Batch Classification](https://agents.nanonets.com/docs/api-reference/document-classification/batch-classification.md): Classify multiple documents by providing a list of inputs (up to 50). Each document is classified using the same categories and mode. - [Synchronous Classification](https://agents.nanonets.com/docs/api-reference/document-classification/synchronous-classification.md): Classify a document into predefined categories synchronously. - [Asynchronous Extraction](https://agents.nanonets.com/docs/api-reference/document-extraction/asynchronous-extraction.md): Queue one or more documents for extraction. Accepts a single input or a list of up to 50 inputs for batch processing. - [Synchronous Extraction](https://agents.nanonets.com/docs/api-reference/document-extraction/synchronous-extraction.md): Extract structured data from a document synchronously as JSON or CSV. - [Asynchronous Parse](https://agents.nanonets.com/docs/api-reference/document-parsing/asynchronous-parse.md): Queue one or more documents for parsing. Accepts a single input string or a list of up to 50 inputs for batch processing. - [Synchronous Parse](https://agents.nanonets.com/docs/api-reference/document-parsing/synchronous-parse.md): Parse a document into Markdown or HTML synchronously. Returns the full result immediately. - [Get File Details](https://agents.nanonets.com/docs/api-reference/file-upload/get-file-details.md): Retrieve metadata and a signed download URL for a previously uploaded file. - [Upload File](https://agents.nanonets.com/docs/api-reference/file-upload/upload-file.md): Upload a document and receive a `file://` URI. Use this URI as the `input` parameter in parse, extract, and classify endpoints. - [Cancel task](https://agents.nanonets.com/docs/api-reference/tasks/cancel-task.md): Mark a non-terminal task as `stopped`. Any step currently running on the worker is **not** interrupted — it finishes naturally, but no further steps are scheduled. - [Get task result](https://agents.nanonets.com/docs/api-reference/tasks/get-task-result.md): Returns the task plus the complete feed of agent activity (tool calls, intermediate messages, final response). Transient/loading entries and internal model/provider fields are stripped before serialization. - [Get task status](https://agents.nanonets.com/docs/api-reference/tasks/get-task-status.md): Lightweight status check. Use this for polling — it does not load the task feed and is the cheapest endpoint per request. - [Get task summary](https://agents.nanonets.com/docs/api-reference/tasks/get-task-summary.md): Returns the task's final answer without intermediate reasoning steps. The server looks for the `task_complete` step in the feed; if present, its `result` field is returned (optionally narrowed to `summary` + `completed_at` when available). If no `task_complete` step is found, the last non-transient… - [List task messages](https://agents.nanonets.com/docs/api-reference/tasks/list-task-messages.md): Returns the conversation log for this task — every user reply submitted via `POST /v1/tasks/{task_id}/message` plus the agent's messages back. Oldest first by default. - [List tasks](https://agents.nanonets.com/docs/api-reference/tasks/list-tasks.md): List tasks in the caller's workspace. Cursor-paginated, newest-first. Filter by agent, status, creation date range, and title substring. - [Send task message](https://agents.nanonets.com/docs/api-reference/tasks/send-task-message.md): Append a user message to an existing task. Used when an agent is in `waiting_for_input` (it called `ask_user`) or when continuing a conversational task. The orchestrator queues a `new_message` event so the agent can resume. - [Async tasks and polling](https://agents.nanonets.com/docs/async-and-polling.md): Every agent run is asynchronous. Here's how to wait for results without hammering the API. - [Authentication](https://agents.nanonets.com/docs/authentication.md): Every API request is authenticated with a workspace-scoped API key. - [Errors and pagination](https://agents.nanonets.com/docs/errors-and-pagination.md): What the API returns when something is wrong, when to retry, and how to walk a long list. - [Files and structured output](https://agents.nanonets.com/docs/files-and-output.md): Attach files to a run, and shape the response into a JSON schema you control. - [Interactive tasks](https://agents.nanonets.com/docs/interactive-tasks.md): When an agent needs more from you mid-run, reply to it and let it continue. - [Introduction](https://agents.nanonets.com/docs/introduction.md): Run Nanonets AI agents from your own backend, fetch their results, and respond to mid-task questions — all over a small REST API. - [Quickstart](https://agents.nanonets.com/docs/quickstart.md): Run your first agent in under five minutes. ## OpenAPI Specs - [openapi](https://agents.nanonets.com/docs/openapi.yaml) - [openapi-extraction-v2](https://agents.nanonets.com/docs/openapi-extraction-v2.json) - [openapi-v2](https://agents.nanonets.com/docs/api-reference-v2/openapi-v2.json)