> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Request Approval • AI Agent SDK

> request_approval: Request approval for a tool execution.

# request\_approval

<div className="flex items-center gap-2">
  <Badge color="blue">Async</Badge>
  <Badge color="teal">Function</Badge>
</div>

> This function is defined in the [**approval**](../modules/approval) module.

Request approval for a tool execution.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
async def request_approval(function_name: str, arguments: Dict[str, Any]) -> ApprovalDecision
```

## Parameters

<ParamField query="function_name" type="str" required={true}>
  Name of the function to execute
</ParamField>

<ParamField query="arguments" type="Dict" required={true}>
  Arguments to pass to the function
</ParamField>

### Returns

<ResponseField name="Returns" type="ApprovalDecision">
  ApprovalDecision with approval status and any modifications
</ResponseField>

## Uses

* `ApprovalDecision`
* `get_approval_callback`
* `asyncio.iscoroutinefunction`
* `callback`
* `asyncio.get_event_loop`
* `loop.run_in_executor`
* `logging.error`

## Used By

* [`Agent.execute_tool_async`](../functions/Agent-execute_tool_async)
* [`require_approval`](../functions/require_approval)

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/approval.py#L450">
  `praisonaiagents/approval.py` at line 450
</Card>
