SDK ReferencePython SDK

Toolkits

Methods

list()

List all toolkits.

def list(*, category: str | None = ..., cursor: str | None = ..., limit: float | None = ..., sort_by: Literal['usage', 'alphabetically'] | None = ..., managed_by: Literal['composio', 'all', 'project'] | None = ...) -> toolkit_list_response.ToolkitListResponse

Parameters

NameType
category?str | None
cursor?str | None
limit?float | None
sort_by?Literal['usage', 'alphabetically'] | None
managed_by?Literal['composio', 'all', 'project'] | None

Returns

toolkit_list_response.ToolkitListResponse


get()

def get(slug: str | None = ..., *, query: toolkit_list_params.ToolkitListParams | None = ...) -> Union[toolkit_retrieve_response.ToolkitRetrieveResponse, ...

Parameters

NameType
slug?str | None
query?toolkit_list_params.ToolkitListParams | None

Returns

Union[toolkit_retrieve_response.ToolkitRetrieveResponse, ...


get_many()

Fetch several toolkits by slug in one request.

def get_many(slugs: Sequence[str], *, category: str | None = ..., managed_by: Literal['composio', 'all', 'project'] | None = ..., sort_by: Literal['usage', 'alphabetically'] | None = ..., limit: float | None = ..., cursor: str | None = ...) -> List[Any]

Parameters

NameTypeDescription
slugsSequence[str]The toolkit slugs to fetch.
category?str | NoneOnly return toolkits in this category.
managed_by?Literal['composio', 'all', 'project'] | NoneFilter by who manages the toolkit.
sort_by?Literal['usage', 'alphabetically'] | NoneSort order of the returned toolkits.
limit?float | NoneMaximum number of toolkits to return.
cursor?str | NonePagination cursor from a previous response.

Returns

List[Any] — The matching toolkits.

Example

toolkits = composio.toolkits.get_many(["github", "slack"])
for toolkit in toolkits:
    print(toolkit.slug, toolkit.name)

changelog()

Retrieve the toolkit changelog (the last 10 versions per toolkit).

def changelog() -> toolkit_retrieve_changelog_response.ToolkitRetrieveChange...

Returns

toolkit_retrieve_changelog_response.ToolkitRetrieveChange... — The changelog entries under .items.

Example

changelog = composio.toolkits.changelog()
for entry in changelog.items:
    print(entry.slug, [v.version for v in entry.versions])

recommend_scopes()

Recommend the OAuth scopes to request so a connection can run the given tools. Experimental — the API marks this endpoint beta.

def recommend_scopes(toolkit_slug: str, **params: Unpack[toolkit_recommend_scopes_params.ToolkitRecommendScopesParams]) -> toolkit_recommend_scopes_response.ToolkitRecommendScopesR...

Parameters

NameTypeDescription
toolkit_slugstrThe toolkit to recommend scopes for.
params?Unpack[toolkit_recommend_scopes_params.ToolkitRecommendScopesParams]

Returns

toolkit_recommend_scopes_response.ToolkitRecommendScopesR... — The least_privilege and fewest scope sets plus the conditional scopes, under .scopes.

Example

recommendation = composio.toolkits.recommend_scopes(
    "gmail",
    tools=["GMAIL_SEND_EMAIL", "GMAIL_FETCH_EMAILS"],
)
print(recommendation.scopes.least_privilege)

list_grant_contexts()

List the grant-context dimensions a toolkit's scope recommendation depends on, with their allowed values and the default the API assumes. Experimental — the API marks this endpoint beta.

def list_grant_contexts(toolkit_slug: str, **params: Unpack[toolkit_retrieve_scopes_grant_context_params.ToolkitRetrieveScopesGrantContextParams]) -> toolkit_retrieve_scopes_grant_context_response.ToolkitRet...

Parameters

NameTypeDescription
toolkit_slugstrThe toolkit to list grant contexts for.
params?Unpack[toolkit_retrieve_scopes_grant_context_params.ToolkitRetrieveScopesGrantContextParams]

Returns

toolkit_retrieve_scopes_grant_context_response.ToolkitRet... — grant_context_dimensions and default_grant_context.

Example

contexts = composio.toolkits.list_grant_contexts("gmail")
for dimension in contexts.grant_context_dimensions:
    print(dimension.dimension, dimension.values)

list_categories()

List all categories of toolkits.

def list_categories()

authorize()

Authorize a user to a toolkit If auth config is not found, it will be created using composio managed auth.

def authorize(*, user_id: str, toolkit: str)

Parameters

NameTypeDescription
user_idstrThe ID of the user to authorize.
toolkitstrThe slug of the toolkit to authorize.

get_connected_account_initiation_fields()

Get the required property for a given toolkit and auth scheme.

def get_connected_account_initiation_fields(toolkit: str, auth_scheme: AuthSchemeL, required_only: bool = ...) -> AuthFieldsT

Parameters

NameType
toolkitstr
auth_schemeAuthSchemeL
required_only?bool

Returns

AuthFieldsT


get_auth_config_creation_fields()

Get the required property for a given toolkit and auth scheme.

def get_auth_config_creation_fields(toolkit: str, auth_scheme: AuthSchemeL, required_only: bool = ...) -> AuthFieldsT

Parameters

NameType
toolkitstr
auth_schemeAuthSchemeL
required_only?bool

Returns

AuthFieldsT


View source