List tool set events
The sync history of a tool set. The only way to know a sync landed, and whether it landed whole.
Three event types
type names the variant, and the key matching type carries the payload. A sync is a syncStarted followed by exactly one syncCompleted or syncFailed. To block a setup script until the tools exist, poll this log after creating the set and stop on the first terminal event newer than your create.
syncCompleted does not mean every tool synced
This is the part to handle. A syncCompleted carries a message when some tools failed even though the sync as a whole succeeded. toolsSynced counts what landed; the message lists what did not.
syncCompleted is not proof the whole provider synced. Read toolsSynced against the count you expect, and read message when they differ:
Reading a failure
syncFailed carries three fields. message is the human-readable summary, errorType is a machine tag for grouping, and error holds the underlying detail:
Cadence
You do not trigger a sync. Cadenya syncs when you create or update the adapter, and on its own cycle after that. An OpenAPI adapter fetched by URL re-syncs hourly, which is visible here as asyncStarted roughly every hour. info.lastSync on the tool set gives you the timestamp of the most recent successful sync without walking the log. It is omitted until a sync completes, so a set whose only syncs have failed has no lastSync.
sortOrder, limit, and cursor page the history the usual way; the SDK iterator follows the cursor for you.
Related
Create a tool set
List tools
List tool sets
info.lastSync and the live tool count.Connect an MCP server
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Workspace ID.
"workspace_01HXKD2E5NQM3T9AYWCF133E3Q"
Tool set ID. Accepts the canonical ts_… form or the external_id: form.
"toolset_01HXKD2E5NQM3T9AYWCFNRMN74"
Query Parameters
Maximum number of results to return
Pagination cursor from previous response
Sort order for results (asc or desc by creation time)
When set to true you may use more of your alloted API rate-limit
Filters by metadata labels. Comma-separated key=value pairs, e.g. "env=prod,team=ai". A resource matches only if every pair matches exactly (AND semantics).