# HasteKit - [Go SDK overview](https://hastekit.ai/docs/hastekit-sdk/introduction.md): Build agents in Go, connect tools and models, and ship conversational applications. - [Installation and quickstart](https://hastekit.ai/docs/hastekit-sdk/setting-up.md): Install the module and run your first agent with explicit error handling. - [Agents and execution](https://hastekit.ai/docs/hastekit-sdk/agents/simple-agent.md): Choose synchronous execution, streaming, cancellation, and run identity. - [Prompts and run context](https://hastekit.ai/docs/hastekit-sdk/agents/system-instruction.md): Build static or resolved prompts and keep application data explicit. - [Structured output](https://hastekit.ai/docs/hastekit-sdk/responses/structured-output.md): Request JSON shaped by a Go type or an explicit schema. - [Conversation history](https://hastekit.ai/docs/hastekit-sdk/agents/conversations/history.md): Persist runs, continue threads, and read complete conversation transcripts. - [Summarization and context limits](https://hastekit.ai/docs/hastekit-sdk/agents/conversations/summarization.md): Control model context without deleting the stored transcript. - [Attachments and S3 storage](https://hastekit.ai/docs/hastekit-sdk/agents/attachments.md): Keep media in owned storage and resolve it only at the model boundary. - [Agent middleware](https://hastekit.ai/docs/hastekit-sdk/agents/hooks.md): Wrap model calls, tools, prompt retrieval, and history operations. - [Retries and timeouts](https://hastekit.ai/docs/hastekit-sdk/agents/retries.md): Set model retry budgets, fallback targets, and execution deadlines explicitly. - [Models and providers](https://hastekit.ai/docs/hastekit-sdk/models/overview.md): Configure a provider once and reuse its model for agents or direct model requests. - [Providers, keys, and retries](https://hastekit.ai/docs/hastekit-sdk/multiple-keys.md): Configure direct provider access and explicit resilience policies. - [Model API reference](https://hastekit.ai/docs/hastekit-sdk/responses/responses-api.md): Understand shared request types, union values, and error boundaries. - [Text generation and streaming](https://hastekit.ai/docs/hastekit-sdk/responses/text-generation.md): Call a model directly and handle complete and streamed responses. - [Direct function calling](https://hastekit.ai/docs/hastekit-sdk/responses/tool-calling.md): Declare schemas and return matching results when you own the tool loop. - [Reasoning controls](https://hastekit.ai/docs/hastekit-sdk/responses/reasoning.md): Configure reasoning effort without assuming every model exposes the same controls. - [Images and vision](https://hastekit.ai/docs/hastekit-sdk/responses/image-generation.md): Send image inputs and handle generated media as typed output. - [Provider web search](https://hastekit.ai/docs/hastekit-sdk/responses/web-search-tool.md): Enable hosted search and preserve source annotations in the answer. - [Provider code execution](https://hastekit.ai/docs/hastekit-sdk/responses/code-execution-tool.md): Use a provider-hosted execution tool where supported. - [Embeddings](https://hastekit.ai/docs/hastekit-sdk/embeddings/embeddings.md): Generate vectors for one string or a batch and retain their model identity. - [Speech generation](https://hastekit.ai/docs/hastekit-sdk/speech/speech.md): Generate audio and consume provider-supported audio streams. - [Audio transcription](https://hastekit.ai/docs/hastekit-sdk/speech/transcription.md): Submit raw audio and inspect optional timing information. - [Function tools](https://hastekit.ai/docs/hastekit-sdk/agents/tools/function-tools.md): Expose typed Go functions and custom tool implementations to an agent. - [Deferred tool discovery](https://hastekit.ai/docs/hastekit-sdk/agents/tools/deferred-tools.md): Reduce initial tool-schema size while retaining discoverable tools. - [Approvals and human input](https://hastekit.ai/docs/hastekit-sdk/agents/tools/human-in-the-loop.md): Pause an agent and resume the exact pending tool call. - [Frontend tools](https://hastekit.ai/docs/hastekit-sdk/agents/tools/client-tools.md): Let the model call browser actions and resume with their results. - [Background tools](https://hastekit.ai/docs/hastekit-sdk/agents/tools/background-tools.md): Start long-running work and deliver its result to the conversation later. - [Tool output limits](https://hastekit.ai/docs/hastekit-sdk/agents/tools/tool-output.md): Keep large tool results out of model context while retaining full output in attachment storage. - [MCP tools](https://hastekit.ai/docs/hastekit-sdk/agents/tools/mcp-tools.md): Discover and execute MCP tools from developer configuration and user-owned server definitions. - [MCP configuration and OAuth](https://hastekit.ai/docs/hastekit-sdk/agents/tools/mcp-management.md): Let users manage remote MCP servers and connect accounts without rebuilding agents. - [Skills](https://hastekit.ai/docs/hastekit-sdk/agents/skills.md): Give agents reusable instructions from developer-owned sources and a user's stored library. - [Skill storage and management](https://hastekit.ai/docs/hastekit-sdk/agents/skill-library.md): Store complete skill bundles and expose a namespace-scoped library in the chat UI. - [Sandbox tools](https://hastekit.ai/docs/hastekit-sdk/agents/tools/sandbox-tool.md): Run shell and file operations through Docker, Kubernetes, E2B, Daytona, or a gateway-backed provider. - [Multi-agent patterns](https://hastekit.ai/docs/hastekit-sdk/agents/multi-agents/overview.md): Choose delegation, background work, or a handoff based on who owns the conversation. - [Sub-agents](https://hastekit.ai/docs/hastekit-sdk/agents/multi-agents/sub-agents.md): Let an agent delegate to a named catalog, wait for an answer, or continue while a child works. - [Agents as tools](https://hastekit.ai/docs/hastekit-sdk/agents/tools/agent-as-a-tool.md): Expose one child agent as a named synchronous or background tool. - [Agent handoffs](https://hastekit.ai/docs/hastekit-sdk/agents/multi-agents/handoff.md): Transfer control to a specialist within the current conversation. - [Interfaces](https://hastekit.ai/docs/hastekit-sdk/agents/serving-agents/overview.md): Choose an embedded chat, a custom frontend, or a programmatic agent interface. - [AG-UI and embedded chat](https://hastekit.ai/docs/hastekit-sdk/agents/serving-agents/serving-agents-agui.md): Serve chat, scoped history, run controls, and resumable event streams. - [React and CopilotKit](https://hastekit.ai/docs/hastekit-sdk/agents/serving-agents/react.md): Build a custom chat frontend against the SDK's AG-UI endpoints. - [SDK event-stream HTTP handler](https://hastekit.ai/docs/hastekit-sdk/agents/serving-agents/serving-agents-http.md): Serve SDK-native response events through a small HTTP adapter. - [Durable execution](https://hastekit.ai/docs/hastekit-sdk/agents/durable/overview.md): Move agent orchestration to Temporal or Restate while keeping the agent-facing API. - [Temporal agents](https://hastekit.ai/docs/hastekit-sdk/agents/durable/temporal.md): Configure shared state and explicitly manage durable worker lifetime. - [Restate agents](https://hastekit.ai/docs/hastekit-sdk/agents/durable/restate.md): Configure shared state and explicitly manage durable worker lifetime. - [Routines](https://hastekit.ai/docs/hastekit-sdk/routines.md): Schedule one-time or recurring agent instructions and track each occurrence as a conversation. - [Workflow overview](https://hastekit.ai/docs/hastekit-sdk/workflows/introduction.md): Build explicit graphs in Go or YAML and execute them with or without an agent. - [YAML workflows](https://hastekit.ai/docs/hastekit-sdk/workflows/yaml.md): Load strict descriptors and resolve dependencies supplied by the application. - [Built-in nodes](https://hastekit.ai/docs/hastekit-sdk/workflows/built-in-nodes.md): Configure MCP, HTTP, human, agent, branch, delay, and JavaScript nodes. - [Custom workflow nodes](https://hastekit.ai/docs/hastekit-sdk/workflows/defining-nodes.md): Implement cancellable logic that returns partial state updates. - [Edges and branching](https://hastekit.ai/docs/hastekit-sdk/workflows/edges-and-branching.md): Connect ports, fan out work, and understand wave-based joins. - [Run and register workflows](https://hastekit.ai/docs/hastekit-sdk/workflows/running-workflows.md): Execute a compiled graph and retain complete state for inspection or resume. - [Pause and resume](https://hastekit.ai/docs/hastekit-sdk/workflows/pausing-and-resuming.md): Persist checkpoints and continue only the work waiting for a decision. - [Workflows as agent tools](https://hastekit.ai/docs/hastekit-sdk/workflows/agent-tools.md): Expose a compiled graph through the agent tool and interruption protocol. - [Workflow HTTP API](https://hastekit.ai/docs/hastekit-sdk/workflows/http.md): Start, inspect, and resume named workflows independently of an agent. - [Temporal workflow execution](https://hastekit.ai/docs/hastekit-sdk/workflows/temporal.md): Run graph nodes as activities and delays as durable timers. - [Testing and evaluation](https://hastekit.ai/docs/hastekit-sdk/testing.md): Test deterministic behavior offline and score agent answers and tool trajectories. - [Tracing and observability](https://hastekit.ai/docs/hastekit-sdk/tracing.md): Export OpenTelemetry spans and correlate model/tool work with a run. - [Production deployment](https://hastekit.ai/docs/hastekit-sdk/production.md): Choose storage, lifecycle, execution, and observability boundaries deliberately. - [Migration notes](https://hastekit.ai/docs/hastekit-sdk/migration.md): Update older examples for skill clients, store-based MCP, sub-agents, sandbox providers, and thread metadata. - [Introduction](https://hastekit.ai/docs/gateway/agent-builder/introduction.md): HasteKit — The end-to-end platform for building, deploying, and observing AI agents - [Quickstart](https://hastekit.ai/docs/gateway/quickstart.md): Get up and running with HasteKit LLM Gateway in minutes. - [Agent Runtime](https://hastekit.ai/docs/gateway/agent-builder/agent-runtime.md): Pick where each agent executes — in-process for speed, or durable on Temporal / Restate for production reliability - [Model Configuration](https://hastekit.ai/docs/gateway/agent-builder/model-configuration.md): Pick a provider, pick a model, and tune sampling and reasoning parameters - [System Prompt](https://hastekit.ai/docs/gateway/agent-builder/system-prompt.md): Define your agent's behavior — inline or by reference to a versioned prompt template - [Prompts](https://hastekit.ai/docs/gateway/agent-builder/prompts.md): Versioned, reusable prompt templates with `{{variable}}` interpolation - [Conversation History](https://hastekit.ai/docs/gateway/agent-builder/conversation-history.md): Enable multi-turn memory and control how long conversations are summarized to fit the context window - [Memories](https://hastekit.ai/docs/gateway/agent-builder/memories.md): Long-term per-user memory — extract facts and events from conversations, recall them across sessions - [Knowledge Bases](https://hastekit.ai/docs/gateway/agent-builder/knowledge-base.md): Ground your agents in your own documents with retrieval-augmented generation - [Skills](https://hastekit.ai/docs/gateway/agent-builder/skills.md): Attach reusable Agent Skills to your agents - [Codebases](https://hastekit.ai/docs/gateway/agent-builder/codebases.md): Attach GitHub repositories so an agent can read, search, and reason over code - [Structured Output](https://hastekit.ai/docs/gateway/agent-builder/structured-output.md): Enforce a JSON schema on the agent's final response so downstream code can consume it without parsing - [Provider Tools](https://hastekit.ai/docs/gateway/agent-builder/provider-tools.md): Built-in tools — image generation, speech, transcription, web search, code execution — wired straight into the agent - [Sandbox Tool](https://hastekit.ai/docs/gateway/agent-builder/sandbox-tool.md): Run bash commands in a per-session isolated environment - [MCP Servers](https://hastekit.ai/docs/gateway/agent-builder/mcp-server.md): Attach Model Context Protocol servers to give an agent external tools and resources - [API Servers](https://hastekit.ai/docs/gateway/agent-builder/api-servers.md): Import an OpenAPI 3.x spec — every operation becomes an agent tool, HTTP requests handled for you - [Agent as a Tool](https://hastekit.ai/docs/gateway/agent-builder/agent-tool.md): Configure an agent to use another agent as a tool - [Human in the Loop](https://hastekit.ai/docs/gateway/agent-builder/human-in-the-loop.md): Gate any tool call behind a human approval step - [Deferred Tools](https://hastekit.ai/docs/gateway/agent-builder/deferred-tools.md): Load tool definitions on demand so big tool catalogs don't bloat the context window - [Connectors](https://hastekit.ai/docs/gateway/agent-builder/connectors.md): Per-user OAuth connections to third-party apps like Gmail, Slack, Jira, GitHub, and Google Calendar - [Credentials & Secrets](https://hastekit.ai/docs/gateway/agent-builder/credentials.md): Encrypted per-project vault for OAuth client secrets, bot tokens, API keys, and webhooks - [Multi-Agent Handoffs](https://hastekit.ai/docs/gateway/agent-builder/multi-agent-handoffs.md): Configure an agent to hand off conversations to other agents - [Workflows](https://hastekit.ai/docs/gateway/agent-builder/workflows.md): Build deterministic DAGs of triggers, connector actions, code, and agents — and call them as tools from an agent - [Versioning](https://hastekit.ai/docs/gateway/agent-builder/versioning.md): Every agent change creates an immutable snapshot — roll forward and back without redeploying clients - [Aliases](https://hastekit.ai/docs/gateway/agent-builder/alias.md): Pin a stable name like `production` or `canary` to one or two agent versions - [Chat](https://hastekit.ai/docs/gateway/agent-builder/conversing-with-the-agent.md): Test your agent in a built-in chat UI — no separate client required - [Channels](https://hastekit.ai/docs/gateway/agent-builder/channels.md): Deploy an agent to Telegram or Slack with a single webhook - [Triggers](https://hastekit.ai/docs/gateway/agent-builder/triggers.md): Invoke an agent or workflow on a schedule, at a specific time, or from a connector event - [Traces](https://hastekit.ai/docs/gateway/agent-builder/traces.md): OpenTelemetry traces for every agent run — drill into spans for LLM calls, tool calls, and sub-agents - [Introduction](https://hastekit.ai/docs/gateway/llm/introduction.md): HasteKit — The end-to-end platform for building LLM-powered agents and workflows - [Quickstart](https://hastekit.ai/docs/gateway/quickstart.md): Get up and running with HasteKit LLM Gateway in minutes. - [Providers](https://hastekit.ai/docs/gateway/llm/providers.md): Configure LLM providers, add API keys, and manage provider settings. - [Virtual Keys](https://hastekit.ai/docs/gateway/llm/virtual-keys.md): Create and manage virtual keys for secure provider and model access control. - [HasteKit SDK](https://hastekit.ai/docs/gateway/llm/hastekit-sdk.md): Use the HasteKit SDK to make LLM calls through the HasteKit LLM Gateway. - [OpenAI](https://hastekit.ai/docs/gateway/llm/sdk-integrations/openai.md): Integrate HasteKit LLM Gateway with OpenAI SDKs using the Responses API - [Anthropic](https://hastekit.ai/docs/gateway/llm/sdk-integrations/anthropic.md): Integrate HasteKit LLM Gateway with Anthropic SDKs using the Messages API - [Gemini](https://hastekit.ai/docs/gateway/llm/sdk-integrations/gemini.md): Integrate HasteKit LLM Gateway with Google Gemini SDKs using the GenerateContent API - [Tracing](https://hastekit.ai/docs/gateway/llm/tracing.md): Monitor and debug LLM requests with distributed tracing. - [Health check](https://hastekit.ai/docs/api-reference/health/health-check.md): Check if the API server is healthy - [List all projects](https://hastekit.ai/docs/api-reference/projects/list-all-projects.md) - [Create a new project](https://hastekit.ai/docs/api-reference/projects/create-a-new-project.md) - [Get project ID by name](https://hastekit.ai/docs/api-reference/projects/get-project-id-by-name.md) - [Update a project](https://hastekit.ai/docs/api-reference/projects/update-a-project.md) - [Delete a project](https://hastekit.ai/docs/api-reference/projects/delete-a-project.md) - [List all agents](https://hastekit.ai/docs/api-reference/agents/list-all-agents.md) - [Create a new agent](https://hastekit.ai/docs/api-reference/agents/create-a-new-agent.md) - [Get agent by name](https://hastekit.ai/docs/api-reference/agents/get-agent-by-name.md) - [Get agent by ID](https://hastekit.ai/docs/api-reference/agents/get-agent-by-id.md) - [Update an agent](https://hastekit.ai/docs/api-reference/agents/update-an-agent.md) - [Delete an agent](https://hastekit.ai/docs/api-reference/agents/delete-an-agent.md) - [List all models](https://hastekit.ai/docs/api-reference/models/list-all-models.md) - [Create a new model](https://hastekit.ai/docs/api-reference/models/create-a-new-model.md) - [Get model by name](https://hastekit.ai/docs/api-reference/models/get-model-by-name.md) - [Get model by ID](https://hastekit.ai/docs/api-reference/models/get-model-by-id.md) - [Update a model](https://hastekit.ai/docs/api-reference/models/update-a-model.md) - [Delete a model](https://hastekit.ai/docs/api-reference/models/delete-a-model.md) - [List all prompts](https://hastekit.ai/docs/api-reference/prompts/list-all-prompts.md) - [Create a new prompt](https://hastekit.ai/docs/api-reference/prompts/create-a-new-prompt.md) - [Delete a prompt](https://hastekit.ai/docs/api-reference/prompts/delete-a-prompt.md) - [Get prompt by name](https://hastekit.ai/docs/api-reference/prompts/get-prompt-by-name.md) - [List prompt versions](https://hastekit.ai/docs/api-reference/prompts/list-prompt-versions.md) - [Create a new prompt version](https://hastekit.ai/docs/api-reference/prompts/create-a-new-prompt-version.md) - [Get prompt version by version number](https://hastekit.ai/docs/api-reference/prompts/get-prompt-version-by-version-number.md) - [Delete a prompt version](https://hastekit.ai/docs/api-reference/prompts/delete-a-prompt-version.md) - [Update prompt version label](https://hastekit.ai/docs/api-reference/prompts/update-prompt-version-label.md) - [Get prompt version by label](https://hastekit.ai/docs/api-reference/prompts/get-prompt-version-by-label.md) - [Get provider models](https://hastekit.ai/docs/api-reference/providers/get-provider-models.md) - [List all API keys](https://hastekit.ai/docs/api-reference/providers/list-all-api-keys.md) - [Create a new API key](https://hastekit.ai/docs/api-reference/providers/create-a-new-api-key.md) - [Update an API key](https://hastekit.ai/docs/api-reference/providers/update-an-api-key.md) - [Delete an API key](https://hastekit.ai/docs/api-reference/providers/delete-an-api-key.md) - [List all provider configs](https://hastekit.ai/docs/api-reference/providers/list-all-provider-configs.md) - [Create or update provider config](https://hastekit.ai/docs/api-reference/providers/create-or-update-provider-config.md) - [List all virtual keys](https://hastekit.ai/docs/api-reference/virtualkeys/list-all-virtual-keys.md) - [Create a new virtual key](https://hastekit.ai/docs/api-reference/virtualkeys/create-a-new-virtual-key.md) - [Update a virtual key](https://hastekit.ai/docs/api-reference/virtualkeys/update-a-virtual-key.md) - [Delete a virtual key](https://hastekit.ai/docs/api-reference/virtualkeys/delete-a-virtual-key.md) - [List all MCP servers](https://hastekit.ai/docs/api-reference/mcpservers/list-all-mcp-servers.md) - [Create a new MCP server](https://hastekit.ai/docs/api-reference/mcpservers/create-a-new-mcp-server.md) - [Get MCP server by name](https://hastekit.ai/docs/api-reference/mcpservers/get-mcp-server-by-name.md) - [Get MCP server by ID](https://hastekit.ai/docs/api-reference/mcpservers/get-mcp-server-by-id.md) - [Update an MCP server](https://hastekit.ai/docs/api-reference/mcpservers/update-an-mcp-server.md) - [Delete an MCP server](https://hastekit.ai/docs/api-reference/mcpservers/delete-an-mcp-server.md) - [Inspect MCP server tools](https://hastekit.ai/docs/api-reference/mcpservers/inspect-mcp-server-tools.md) - [List all schemas](https://hastekit.ai/docs/api-reference/schemas/list-all-schemas.md) - [Create a new schema](https://hastekit.ai/docs/api-reference/schemas/create-a-new-schema.md) - [Get schema by name](https://hastekit.ai/docs/api-reference/schemas/get-schema-by-name.md) - [Get schema by ID](https://hastekit.ai/docs/api-reference/schemas/get-schema-by-id.md) - [Update a schema](https://hastekit.ai/docs/api-reference/schemas/update-a-schema.md) - [Delete a schema](https://hastekit.ai/docs/api-reference/schemas/delete-a-schema.md) - [List conversations](https://hastekit.ai/docs/api-reference/conversations/list-conversations.md) - [Get conversation by ID](https://hastekit.ai/docs/api-reference/conversations/get-conversation-by-id.md) - [List threads in a conversation](https://hastekit.ai/docs/api-reference/conversations/list-threads-in-a-conversation.md) - [Get thread by ID](https://hastekit.ai/docs/api-reference/conversations/get-thread-by-id.md) - [List messages in a thread](https://hastekit.ai/docs/api-reference/conversations/list-messages-in-a-thread.md) - [Add messages to a conversation/thread](https://hastekit.ai/docs/api-reference/conversations/add-messages-to-a-conversationthread.md) - [Get message by ID](https://hastekit.ai/docs/api-reference/conversations/get-message-by-id.md) - [Get all messages till a specific run](https://hastekit.ai/docs/api-reference/conversations/get-all-messages-till-a-specific-run.md) - [Save a summary](https://hastekit.ai/docs/api-reference/conversations/save-a-summary.md) - [Converse with an agent (streaming)](https://hastekit.ai/docs/api-reference/converse/converse-with-an-agent-streaming.md) - [Converse with an agent (durable, streaming)](https://hastekit.ai/docs/api-reference/converse/converse-with-an-agent-durable-streaming.md) - [Gateway responses endpoint](https://hastekit.ai/docs/api-reference/gateway/gateway-responses-endpoint.md) - [Anthropic messages endpoint](https://hastekit.ai/docs/api-reference/gateway/anthropic-messages-endpoint.md) - [Gemini model endpoint](https://hastekit.ai/docs/api-reference/gateway/gemini-model-endpoint.md) - [OpenAI responses endpoint](https://hastekit.ai/docs/api-reference/gateway/openai-responses-endpoint.md) - [List traces with optional filters](https://hastekit.ai/docs/api-reference/traces/list-traces-with-optional-filters.md) - [Get a specific trace with all spans](https://hastekit.ai/docs/api-reference/traces/get-a-specific-trace-with-all-spans.md) - [Get service statistics](https://hastekit.ai/docs/api-reference/traces/get-service-statistics.md) - [Get endpoint statistics](https://hastekit.ai/docs/api-reference/traces/get-endpoint-statistics.md) - [Get list of services](https://hastekit.ai/docs/api-reference/traces/get-list-of-services.md) ## OpenAPI Specs - [openapi](/docs/openapi.yaml) ## Optional - [Home](https://hastekit.ai) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.