Authentication

Every Composio API request authenticates with an API key. Send the key in a request header and Composio resolves it to your project or organization.

Project API key

A project API key authenticates to one project with full access. Send it in the x-api-key header.

Get it from the dashboard: sign in to composio.dev, open Settings → Project Settings, and copy the key from the API Keys section.

Organization API key

An organization API key authenticates across every project in your organization. Send it in the x-org-api-key header.

Get it from the dashboard: open Organization Settings → General Settings and copy a token under Organization Access Tokens.

Using the API key

Include your API key in the request header:

from composio import Composio

composio = Composio()
print(composio.client.get("/api/v3/tools", cast_to=object))

For organization-level endpoints:

The Python SDK also requires COMPOSIO_API_KEY to initialize. These raw calls explicitly send the organization header for the historical v3 route.

import os
from composio import Composio

composio = Composio()
projects = composio.client.get(
    "/api/v3/org/owner/project/list",
    cast_to=object,
    headers={"x-api-key": None, "x-org-api-key": os.environ["COMPOSIO_ORG_API_KEY"]},
)
print(projects)