Upsert a custom toolkit
Changed onExperimental: custom toolkits are in pilot and this contract may change. Creates a custom toolkit for the project with the provided slug, or updates its display metadata (name, API key field copy) when the project already owns a toolkit with that slug. A toolkit created here is shared with every user in the project; an existing toolkit keeps its access. app_url and auth_schemes cannot be changed on an existing toolkit: re-sending them unchanged is a no-op, changing them returns 409 (delete and re-register the toolkit instead, which revokes its connections).
Request
- Base URLhttps://backend.composio.dev
- URLhttps://backend.composio.dev/api/v3/custom/toolkits/upsert
- Auth
- API key in header x-api-key
- or API key in header x-user-api-key
Request body
Example request
{
"slug": "MY_TOOLKIT",
"toolkit_config": {
"auth_schemes": [
{
"discovery_url": "https://mcp.example.com/.well-known/oauth-authorization-server"
}
]
}
}Response
Successfully upserted toolkit
Example response
{
"slug": "CUSTOM_MY_TOOLKIT"
}Changes
- info
added the new optional request property
////
- info
- breaking
removed
subschema #2subschema #3from the//request propertyoneOflist - info
added
subschema #2subschema #3to the//request propertyoneOflist
- breaking