---
title: "Execute a connection tool"
method: POST
path: "/connections/{id}/execute"
tags: ["Connections"]
---

# Execute a connection tool

`POST /connections/{id}/execute`

## Request

- Base URL: `https://api.crevio.co/v1`
- URL: `https://api.crevio.co/v1/connections/{id}/execute`
- Auth: API key in header `Authorization`

Run a tool on any connection by its unified id, with the account's approval policy enforced. always_allow runs now (200); always_ask freezes a pending approval (202); off / not-callable refused. Social/ads connections are operated via their native /v1 endpoints (409).

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `tool` string, required: Tool name from GET /connections/{id}/tools
  - `arguments` object: Tool-specific arguments

## Response `200`

Tool executed

- ConnectionInvocation
  - `object` 'connection_execution', required
  - `connection` string, required: The connection public id
  - `tool` string, nullable
  - `status` 'executed', required
  - `result` union: Provider response
    - object
    - string
    - number
    - boolean

## Other responses

- `202`: Approval required - the action was frozen pending a human decision
- `400`: Bad request
- `401`: Authentication required
- `403`: Forbidden
- `404`: Resource not found
- `409`: Conflict
- `422`: Validation error
- `429`: Rate limit exceeded — 600 requests per minute per credential. Retry after the number of seconds in `Retry-After`.
- `500`: Internal server error
- `502`: Upstream (provider) failure
- `503`: Feature not configured for this workspace

---

[API](https://skmtc.dev/crevio/apis/crevio-api-v1.md) · [All operations](https://skmtc.dev/crevio/apis/crevio-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/crevio/apis/crevio-api-v1/revisions/2219f18ad651?raw)
