---
title: Riza API Integration on Truto
slug: riza
category: Application Development
canonical: "https://truto.one/integrations/detail/riza/"
---

# Riza API Integration on Truto



**Category:** Application Development  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 19 tools for Riza that AI agents can call directly.

- **create_a_riza_command** — Execute a script in riza's secure, isolated sandbox environment. Returns: id, exit_code, stdout, stderr, and duration (in milliseconds). Required: language, code.
- **list_all_riza_executions** — List executions in your Riza project. Returns: id, language, exit_code, duration, started_at, and details (per-execution request/response detail object). Optionally filter to only failed executions using only_non_zero_exit_codes.
- **get_single_riza_execution_by_id** — Retrieve a single Riza execution by id. Returns: id, language, exit_code, duration, started_at, and details (per-execution request/response detail object). Required: id.
- **create_a_riza_runtime** — Create a new runtime in riza with a specified language and manifest file. Returns: id, name, language, engine, revision_id, status. Required: name, language, manifest_file.
- **delete_a_riza_runtime_by_id** — Delete a riza runtime by id. Returns: id, deleted. Required: id.
- **list_all_riza_runtimes** — List all runtimes in your riza project. Returns: id, name, language, engine, revision_id, status for each runtime. Max 100 per page.
- **get_single_riza_runtime_by_id** — Retrieve a single riza runtime by id. Returns: id, name, language, engine, revision_id, status. Required: id.
- **create_a_riza_runtime_revision** — Create a new revision for a Riza runtime. Returns: id, runtime_id, status, manifest_file, and additional_python_imports. Required: runtime_id and manifest_file.
- **list_all_riza_runtime_revisions** — List all revisions for a Riza runtime. Returns: id, runtime_id, status, manifest_file, and additional_python_imports for each revision. Required: runtime_id.
- **get_single_riza_runtime_revision_by_id** — Retrieve a single Riza runtime revision by id. Returns: id, runtime_id, status, manifest_file, and additional_python_imports. Required: runtime_id and id.
- **create_a_riza_secret** — Create a secret in your Riza project. Returns: id, name. Required: name, value.
- **list_all_riza_secrets** — List all secrets in your Riza project. Returns: id, name per secret.
- **create_a_riza_tool** — Create a new tool in your riza project. Returns: id, name, language, code, description, input_schema, revision_id, and runtime_revision_id. Required: name, language, code.
- **list_all_riza_tools** — List all tools in your riza project. Returns: id, name, language, code, description, input_schema, and revision_id for each tool. Max 100 per page.
- **update_a_riza_tool_by_id** — Update an existing riza tool's name, language, source code, input schema, or runtime revision by id. Returns: id, name, language, code, description, input_schema, revision_id, and runtime_revision_id. Required: id.
- **get_single_riza_tool_by_id** — Retrieve a single riza tool by id. Returns: id, name, language, code, description, input_schema, revision_id, and runtime_revision_id. Required: id.
- **create_a_riza_code_execution** — Execute a code script in Riza by submitting code in a specified programming language. Returns the execution result including exit_code, stdout, stderr, and duration. Required: language, code.
- **create_a_riza_function_execution** — Execute a function in Riza by submitting code that defines an `execute` function accepting a single argument and returning a JSON-serializable value. Returns: output, output_status, and an execution object containing id, exit_code, stdout, stderr, and duration. Required: language, code.
- **create_a_riza_tool_execution** — Execute a Riza tool by its ID, passing an input payload that matches the tool's defined input schema. Returns: output (the JSON-serializable value produced by the tool's execute function). Required: tool_id.

## How it works

1. **Link your customer's Riza account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Riza.** The Proxy API is a 1-to-1 mapping of the Riza API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed a Code Interpreter in Your AI Product** — Let your users connect their Riza account so your LLM features can execute generated Python, JavaScript, Ruby, or PHP in a secure sandbox. You ship code interpreter capabilities without building WebAssembly infrastructure or owning the security risk of arbitrary code execution.
- **Power Custom Code Steps in Workflow Automation** — Offer a 'Custom Code' node in your iPaaS or no-code builder that runs against the end user's own Riza environment. Users transform payloads with their own scripts and compute quotas, while you avoid hosting untrusted execution infrastructure.
- **Enable User-Defined Agent Tools** — Allow customers building agents on your platform to define and persist their own Riza tools with typed input schemas. Your agent runtime can then invoke those tools against each user's isolated sandbox, keeping their business logic and secrets out of your infrastructure.
- **Run Structured Data Extraction in ETL Pipelines** — CDPs and ETL platforms can hand off messy webhook or document payloads to the user's Riza account for schema normalization. The user's script returns strict JSON your pipeline can ingest, with no arbitrary code touching your servers.
- **Offer Model Evaluation and Code Grading** — LLM evaluation platforms can execute thousands of model-generated code snippets in each customer's Riza account to score correctness. Customers control their runtimes and dependencies while you focus on benchmarking and reporting.

## What you can build

- **Sandboxed Code Execution Node** — Ship a workflow step that sends user-authored scripts to Riza via create_a_riza_code_execution and surfaces stdout, stderr, and exit codes back in your UI.
- **Schema-Enforced Function Runner** — Use create_a_riza_function_execution to run user scripts that must return JSON matching a defined schema, perfect for safe data handoffs in ETL or agent flows.
- **Persistent Tool Library for Agents** — Let users create, list, and update reusable tools with create_a_riza_tool and update_a_riza_tool_by_id, then invoke them from your agent via create_a_riza_tool_execution.
- **Custom Runtime and Dependency Manager** — Expose a UI for users to define Riza runtimes and revisions via create_a_riza_runtime and create_a_riza_runtime_revision so their scripts have the right libraries pre-installed.
- **Secret Vault for Sandboxed Auth** — Allow users to register API keys with create_a_riza_secret so executing code can authenticate with third-party APIs without your platform ever handling raw credentials.
- **Execution History and Debugging View** — Use list_all_riza_executions and get_single_riza_execution_by_id to build a run history panel where users can inspect prior executions, errors, and durations.

## FAQs

### How do end users connect their Riza account?

Users authenticate their Riza account through Truto's managed auth flow. Truto stores and refreshes credentials, so your application calls Riza endpoints without handling API keys directly.

### Which Riza operations are available through this integration?

The integration covers code, function, and tool executions, plus management of tools, runtimes, runtime revisions, secrets, commands, and execution history. This maps to Riza's core primitives for running and persisting sandboxed code.

### Can each end user bring their own runtimes and dependencies?

Yes. Because requests run against the connected user's Riza account, runtimes and revisions created via create_a_riza_runtime and create_a_riza_runtime_revision belong to that user, including any package manifests they define.

### How do we keep user secrets out of executed scripts?

Use create_a_riza_secret to register credentials in the user's Riza environment. Their scripts reference the secret at runtime instead of embedding keys, so your platform never stores raw third-party credentials.

### Can we enforce structured output from user-written code?

Yes. Use create_a_riza_function_execution to require a typed input and JSON-serializable output, which is safer than parsing raw stdout when handing data back into your pipelines.

### Is there a way to inspect previous executions for debugging?

Use list_all_riza_executions to paginate through prior runs and get_single_riza_execution_by_id to retrieve details for a specific execution, including outputs and status.

### Are there Unified API resources for Riza in Truto?

Not currently. The integration exposes Riza's native endpoints through Truto's normalized tool calls, and additional unification can be built on request based on your product needs.

## Related reading

- [Connect Riza to Claude: Automate Secure Custom Tool Execution](https://truto.one/blog/connect-riza-to-claude-automate-secure-custom-tool-execution/) — Learn how to connect Riza to Claude using a managed MCP server to safely execute sandboxed code, manage secure runtimes, and automate infrastructure workflows.
- [Connect Riza to AI Agents: Orchestrate Secure Runtimes and Secrets](https://truto.one/blog/connect-riza-to-ai-agents-orchestrate-secure-runtimes-and-secrets/) — Learn how to connect Riza to AI agents using Truto's tool-calling API. Orchestrate secure runtimes, manage secrets, and execute sandboxed code natively.
