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

> ## Agent Instructions
> To act on Atlan objects, use the Atlan MCP server at https://api.atlan.com/mcp or the atlanai CLI; `atlanai --map json` prints its command map. Run a read-only identity check before any write.
> The docs MCP server at /mcp searches these docs only. It cannot read or change Atlan objects.
> SDK packages: Python `atlanai` (PyPI) and TypeScript `@atlanai/sdk` (npm). Show Python first, then TypeScript.

# API proxy

> Every published api proxy operation, generated from the contract.

6 operations on `client.apis`.

Path parameters come first, positionally; the request body is last, as a plain
object. Method names are `snake_case` in Python and `camelCase` in
TypeScript, and resource names follow the same rule.

<Warning>
  `path` must be a single segment. Both SDKs percent-encode a `/` inside it,
  and the gateway refuses an encoded separator with `400 path_not_allowed`.
  These methods also send no request body and no query string. For a
  multi-segment path, a body, or a query string, call
  `/api/v1/apis/{api_id}/<path>` over HTTP instead. Every proxy call needs
  member or admin on the API's workspace; viewer is refused.
</Warning>

<CodeGroup>
  ```python Python theme={null}
  result = client.apis.proxy_delete(api_id, path)
  ```

  ```typescript TypeScript theme={null}
  const result = await client.apis.proxyDelete(api_id, path);
  ```
</CodeGroup>

## Operations

| Call | Route | Does |
| - | - | - |
| `client.apis.proxy_delete(api_id, path)` | `DELETE /api/v1/apis/{api_id}/{path}` | Proxy a request to a registered API |
| `client.apis.proxy_get(api_id, path)` | `GET /api/v1/apis/{api_id}/{path}` | Proxy a request to a registered API |
| `client.apis.proxy_head(api_id, path)` | `HEAD /api/v1/apis/{api_id}/{path}` | Proxy a request to a registered API |
| `client.apis.proxy_patch(api_id, path)` | `PATCH /api/v1/apis/{api_id}/{path}` | Proxy a request to a registered API |
| `client.apis.proxy_post(api_id, path)` | `POST /api/v1/apis/{api_id}/{path}` | Proxy a request to a registered API |
| `client.apis.proxy_put(api_id, path)` | `PUT /api/v1/apis/{api_id}/{path}` | Proxy a request to a registered API |

## Related

<CardGroup cols={2}>
  <Card title="How the client is organised" icon="list" href="/tools/sdk/how-tos/operations">
    Resources, call shapes, and errors.
  </Card>

  <Card title="Errors and retries" icon="triangle-exclamation" href="/platform/references/errors-and-retries">
    What the SDK raises, and which calls are safe to retry.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.