---
title: "Call an app's API through a connection granted to this API key [write]"
method: POST
path: "/plugins/{name}/call"
---

# Call an app's API through a connection granted to this API key \[write\]

`POST /plugins/{name}/call`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/plugins/{name}/call`
- Auth: HTTP bearer

For a service holding an API key: app:<slug> only (422 not_callable otherwise). Calls `url` (https only, 400 https_required) through a connection of that app its owner granted to this key or to every key of the request's workspace (POST /plugins/{id}/share {workspace, api_key | all_api_keys}), exactly as POST /connectors/proxy: the workspace's tool-call rules decide first (403 capability_denied; 503 policy_unavailable), and a 2xx books one connector call to the key's account (native GitHub calls are free). `connection_id` names the connection when several of that app are granted (else 409 connection_required); 404 not_granted when none is. A browser session or a task pass is 403 key_required. Answers the third party's {status, ok, body}; 502 proxy_error when it could not be called.

## Path parameters

- `name` string, required

## Request body

- object
  - `url` string, required
  - `method` string
  - `headers` object
  - `body` string
  - `connection_id` string

## Response `200`

The third party's answer

- object
  - `status` integer, required
  - `ok` boolean, required
  - `body` unknown

## Other responses

- `default`: Error — { error: { code, message, request_id } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/plugins/:name/call/post.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/0d435187cd55?raw)
