getTools method

Future<ToolList?> getTools({
  1. String? source_,
  2. String? activated,
})

Lists every tool the caller's org and project can reach, from every source, each flagged with whether it is activated.

Lists every tool the caller's org and project can reach, from every source, each flagged with whether it is activated. This is the discovery surface: one flat set of names spanning connector actions, user functions, zap-service routes, agents, skills and the org's own external MCP servers, deduplicated by name so the highest-precedence source wins a collision. It lists; it does not call — dispatch is POST /v1/tools/call.

Parameters:

  • String source_: Source keeps only tools from one source — connector, function, zap-service, agent, skill or mcp. Empty keeps every source.

  • String activated: Activated keeps only the tools activated for the caller's org and project, and only when it is exactly the string "true".

Implementation

Future<ToolList?> getTools({ String? source_, String? activated, }) async {
  final response = await getToolsWithHttpInfo( source_: source_, activated: activated, );
  if (response.statusCode >= HttpStatus.badRequest) {
    throw ApiException(response.statusCode, await _decodeBodyBytes(response));
  }
  // When a remote server returns no body with a status of 204, we shall not decode it.
  // At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
  // FormatException when trying to decode an empty string.
  if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
    return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'ToolList',) as ToolList;

  }
  return null;
}