# Soma ## Docs - [LangChain](https://docs.trysoma.ai/ai-frameworks/langchain.md): Using LangChain with Soma - [OpenAI SDK](https://docs.trysoma.ai/ai-frameworks/openai-sdk.md): Using OpenAI SDK with Soma - [Overview](https://docs.trysoma.ai/ai-frameworks/overview.md): Using AI frameworks with Soma - [Vercel AI SDK](https://docs.trysoma.ai/ai-frameworks/vercel-ai-sdk.md): Using Vercel AI SDK with Soma - [Get runtime config](https://docs.trysoma.ai/api-reference/_internal/get-runtime-config.md): Get the current runtime configuration - [Health check](https://docs.trysoma.ai/api-reference/_internal/health-check.md): Check the health status of the service and SDK server connectivity - [Trigger codegen](https://docs.trysoma.ai/api-reference/_internal/trigger-codegen.md): Trigger code generation for the SDK - [Get agent card](https://docs.trysoma.ai/api-reference/a2a/get-agent-card.md): Get the agent card describing agent capabilities and metadata - [Get agent definition](https://docs.trysoma.ai/api-reference/a2a/get-agent-definition.md): Get the agent definition (capabilities and metadata) - [Get extended agent card](https://docs.trysoma.ai/api-reference/a2a/get-extended-agent-card.md): Get the authenticated extended agent card with additional metadata - [Handle JSON-RPC](https://docs.trysoma.ai/api-reference/a2a/handle-json-rpc.md): Handle JSON-RPC requests for agent-to-agent communication (tasks, messages, etc.) - [Create provider](https://docs.trysoma.ai/api-reference/bridge/create-provider.md): Create a new provider instance with the specified configuration - [Create resource server credential](https://docs.trysoma.ai/api-reference/bridge/create-resource-server-credential.md): Create a new resource server credential - [Create user credential](https://docs.trysoma.ai/api-reference/bridge/create-user-credential.md): Create a new user credential - [Delete provider](https://docs.trysoma.ai/api-reference/bridge/delete-provider.md): Delete a provider instance by its unique identifier - [Disable function](https://docs.trysoma.ai/api-reference/bridge/disable-function.md): Disable a function for a provider instance - [Enable function](https://docs.trysoma.ai/api-reference/bridge/enable-function.md): Enable a function for a provider instance - [Encrypt resource server config](https://docs.trysoma.ai/api-reference/bridge/encrypt-resource-server-config.md): Encrypt a resource server credential configuration before storage - [Encrypt user credential config](https://docs.trysoma.ai/api-reference/bridge/encrypt-user-credential-config.md): Encrypt a user credential configuration before storage - [Get function OpenAPI spec](https://docs.trysoma.ai/api-reference/bridge/get-function-openapi-spec.md): Get the OpenAPI specification for all function instances - [Get provider](https://docs.trysoma.ai/api-reference/bridge/get-provider.md): Retrieve a provider instance by its unique identifier - [Invoke function](https://docs.trysoma.ai/api-reference/bridge/invoke-function.md): Invoke a function on a provider instance - [List function instances](https://docs.trysoma.ai/api-reference/bridge/list-function-instances.md): List all function instances with optional filtering by provider instance - [List provider instances](https://docs.trysoma.ai/api-reference/bridge/list-provider-instances.md): List all provider instances with optional filtering by status and provider type - [List providers](https://docs.trysoma.ai/api-reference/bridge/list-providers.md): List all available provider types that can be instantiated - [List providers by function](https://docs.trysoma.ai/api-reference/bridge/list-providers-by-function.md): List provider instances grouped by their associated functions - [MCP SSE connection](https://docs.trysoma.ai/api-reference/bridge/mcp-sse-connection.md): Establish Server-Sent Events (SSE) connection for MCP protocol communication - [OAuth callback](https://docs.trysoma.ai/api-reference/bridge/oauth-callback.md): Handle OAuth callback to complete user credential brokering flow - [Send MCP message](https://docs.trysoma.ai/api-reference/bridge/send-mcp-message.md): Send a JSON-RPC message to the MCP server - [Start credential brokering](https://docs.trysoma.ai/api-reference/bridge/start-credential-brokering.md): Start the OAuth flow for user credential brokering - [Update provider](https://docs.trysoma.ai/api-reference/bridge/update-provider.md): Update an existing provider instance configuration - [Create data key](https://docs.trysoma.ai/api-reference/encryption/create-data-key.md): Create a new data encryption key (DEK) encrypted with the specified envelope encryption key - [Create DEK alias](https://docs.trysoma.ai/api-reference/encryption/create-dek-alias.md): Create an alias for a data encryption key to enable lookup by friendly name - [Create envelope key](https://docs.trysoma.ai/api-reference/encryption/create-envelope-key.md): Create a new envelope encryption key (master key) for encrypting data encryption keys - [Delete DEK alias](https://docs.trysoma.ai/api-reference/encryption/delete-dek-alias.md): Delete an alias for a data encryption key - [Get DEK by alias](https://docs.trysoma.ai/api-reference/encryption/get-dek-by-alias.md): Retrieve a data encryption key by its alias or ID - [Import data key](https://docs.trysoma.ai/api-reference/encryption/import-data-key.md): Import an existing pre-encrypted data encryption key into the system - [List data keys](https://docs.trysoma.ai/api-reference/encryption/list-data-keys.md): List all data encryption keys encrypted with the specified envelope encryption key - [List envelope keys](https://docs.trysoma.ai/api-reference/encryption/list-envelope-keys.md): List all envelope encryption keys (master keys) with pagination - [Migrate all data keys](https://docs.trysoma.ai/api-reference/encryption/migrate-all-data-keys.md): Migrate all data encryption keys encrypted with the specified envelope key to a new envelope key - [Migrate data key](https://docs.trysoma.ai/api-reference/encryption/migrate-data-key.md): Migrate a data encryption key to be encrypted with a different envelope encryption key - [Update DEK alias](https://docs.trysoma.ai/api-reference/encryption/update-dek-alias.md): Update the alias for a data encryption key - [Create secret](https://docs.trysoma.ai/api-reference/secret/create-secret.md): Create a new encrypted secret with the specified key and value - [Delete secret](https://docs.trysoma.ai/api-reference/secret/delete-secret.md): Delete a secret by its unique identifier - [Get secret](https://docs.trysoma.ai/api-reference/secret/get-secret.md): Retrieve a secret by its unique identifier - [Get secret by key](https://docs.trysoma.ai/api-reference/secret/get-secret-by-key.md): Retrieve a secret by its key name - [Import secret](https://docs.trysoma.ai/api-reference/secret/import-secret.md): Import an existing pre-encrypted secret into the system - [List decrypted secrets](https://docs.trysoma.ai/api-reference/secret/list-decrypted-secrets.md): List all secrets with decrypted values (requires decryption access) - [List secrets](https://docs.trysoma.ai/api-reference/secret/list-secrets.md): List all secrets with pagination (values are encrypted) - [Update secret](https://docs.trysoma.ai/api-reference/secret/update-secret.md): Update an existing secret's value or metadata - [Get task](https://docs.trysoma.ai/api-reference/task/get-task.md): Retrieve a task by its unique identifier - [Get task timeline](https://docs.trysoma.ai/api-reference/task/get-task-timeline.md): Get the timeline history of a task with pagination - [List contexts](https://docs.trysoma.ai/api-reference/task/list-contexts.md): List all unique task contexts with pagination - [List tasks](https://docs.trysoma.ai/api-reference/task/list-tasks.md): List all tasks with pagination - [List tasks by context](https://docs.trysoma.ai/api-reference/task/list-tasks-by-context.md): List all tasks for a specific context ID with pagination - [Send message](https://docs.trysoma.ai/api-reference/task/send-message.md): Send a message to a task - [Update task status](https://docs.trysoma.ai/api-reference/task/update-task-status.md): Update the status of a task - [Chat Agent](https://docs.trysoma.ai/common-patterns/chat-agent.md): Building chat-based agents with Soma - [Combined Agent](https://docs.trysoma.ai/common-patterns/combined-agent.md): Building agents that combine chat and workflow patterns - [Workflow Agent](https://docs.trysoma.ai/common-patterns/workflow-agent.md): Building workflow-based agents with Soma - [Deployment](https://docs.trysoma.ai/deployment.md): Going from local to cloud - [Crash Recovery](https://docs.trysoma.ai/fault-tolerance/crash-recovery.md): Recovering from crashes - [Resumability](https://docs.trysoma.ai/fault-tolerance/resumability.md): Resuming agent execution - [Things to Watch Out For](https://docs.trysoma.ai/fault-tolerance/things-to-watch-out-for.md): Common pitfalls and things to watch out for - [Introduction](https://docs.trysoma.ai/index.md): Welcome to Soma - [Via Agent 2 Agent Endpoint](https://docs.trysoma.ai/invoking-your-agent/via-agent-2-agent-endpoint.md): Invoking your agent via the A2A endpoint - [Via OpenAI Streaming Endpoint](https://docs.trysoma.ai/invoking-your-agent/via-openai-streaming-endpoint.md): Invoking your agent via the OpenAI streaming endpoint - [Adding Custom Functions](https://docs.trysoma.ai/mcp-functions/adding-custom-functions.md): Adding custom MCP functions to your agent - [Overview](https://docs.trysoma.ai/mcp-functions/overview.md): Introduction to secure MCP functions - [Quickstart](https://docs.trysoma.ai/quickstart.md): Get started locally in minutes - [Google](https://docs.trysoma.ai/secure-saas-mcp-integrations/google.md): Integrating with Google services - [Stripe](https://docs.trysoma.ai/secure-saas-mcp-integrations/stripe.md): Integrating with Stripe - [Agent vs API server isolation](https://docs.trysoma.ai/security/agent-vs-api-server-isolation.md): How Soma implements process isolation for your agent - [API Keys & service accounts](https://docs.trysoma.ai/security/api-keys-and-service-accounts.md): How to manage API keys & service accounts - [Appendix: roles & permissions](https://docs.trysoma.ai/security/appendix-roles-and-permissions.md): A catalog of all available roles & related permissions in Soma - [Appendix: The Role of soma.yaml](https://docs.trysoma.ai/security/appendix-the-role-of-soma-yaml.md): How the soma.yaml file works - [Configuring access control](https://docs.trysoma.ai/security/configuring-access-control.md): How to configure fine-grained access control to agents, functions & API endpoints - [Configuring an external identity provider](https://docs.trysoma.ai/security/configuring-an-external-identity-provider.md): Authenticate users with your identity provider - [Environment variables](https://docs.trysoma.ai/security/environment-variables.md): Managing environment variables for your agent - [Overview](https://docs.trysoma.ai/security/overview.md): Overview of security features in Soma - [Secrets](https://docs.trysoma.ai/security/secrets.md): Managing secrets for your agent - [User & group provisioning](https://docs.trysoma.ai/security/user-and-group-provisioning.md): How to provision users & groups into Soma - [A2A Chat Debugger](https://docs.trysoma.ai/testing-and-evals/A2A-chat-debugger.md): Debugging your agent with the A2A chat debugger - [MCP Inspector](https://docs.trysoma.ai/testing-and-evals/MCP-inspector.md): Inspecting MCP functions with the MCP inspector - [Evals](https://docs.trysoma.ai/testing-and-evals/evals.md): Evaluating your agent - [Unit & Integration Testing](https://docs.trysoma.ai/testing-and-evals/unit-&-integration-testing.md): Unit and integration testing for your agent ## OpenAPI Specs - [openapi](https://docs.trysoma.ai/api-reference/openapi.json)