---
title: "Sync a custom toolkit"
method: POST
path: "/api/v3/custom/toolkits/sync"
tags: ["Toolkits"]
---

# Sync a custom toolkit

`POST /api/v3/custom/toolkits/sync`

Experimental: custom toolkits are in pilot and this contract may change. Re-fetches tool definitions from the remote MCP server for the custom toolkit with the provided slug. Call it when automatic sync fails or the remote tool definitions change.

## Request body

- object
  - `slug` string, required — Toolkit slug to sync
  - `connected_account_id` string, connectedAccountId — The unique identifier for the connected account

## Response `200`

Successfully synced toolkit

- object
  - `slug` string, required — Synced toolkit slug
  - `version` string, required — Version of the toolkit created after sync
  - `synced_count` number, required — Number of tools synced for toolkit

## Other responses

- `400` — Bad request - Invalid parameters
- `401` — Unauthorized - Invalid or missing credentials
- `404` — Not found - Toolkit not found
- `408` — Request timeout
- `409` — Conflict - Toolkit already exists
- `500` — Internal server error - Failed to sync toolkit

---

[API](https://skmtc.dev/composiohq/apis/composio-platform-api.md) · [All operations](https://skmtc.dev/composiohq/apis/composio-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/composiohq/composio-platform-api/revisions/368fb7851f42/schema)
