listTasks method
List tasks across connected accounts.
Fan-out list. Returns every task visible to the caller across every connected tasks provider. Pass ?accountId= or ?provider= to scope to a single source.
Parameters:
-
String accountId: Connected-account row id. Selects which provider account this request targets when more than one is connected. Mutually exclusive with
provider. If omitted on a list endpoint the call fans out across every connected account. -
String provider: Provider id (e.g.
native-notes,notion). Selects every connected account for the provider. Mutually exclusive withaccountId. -
String xWorkspaceID: Workspace scope for unscoped tokens. Workspace-scoped PATs and OAuth tokens carry this implicitly; for session/JWT auth without a scoped PAT, pass it explicitly.
-
bool completed: Include completed tasks. Default
false(active tasks only). -
List<String> labels: Repeatable. Filter to tasks carrying every label listed.
-
String parentTaskId: Filter to subtasks of this parent.
-
String type: Discriminator filter (
todo,reminder,issue). -
String sourcePlatform: Filter to tasks linked to a given source platform.
-
String sourceId: Filter to tasks linked to a specific source artifact id. Pair with
sourcePlatformfor an exact match. -
int limit:
-
int offset:
Implementation
Future<TaskListEnvelope?> listTasks({ String? accountId, String? provider, String? xWorkspaceID, bool? completed, List<String>? labels, String? parentTaskId, String? type, String? sourcePlatform, String? sourceId, int? limit, int? offset, }) async {
final response = await listTasksWithHttpInfo( accountId: accountId, provider: provider, xWorkspaceID: xWorkspaceID, completed: completed, labels: labels, parentTaskId: parentTaskId, type: type, sourcePlatform: sourcePlatform, sourceId: sourceId, limit: limit, offset: offset, );
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), 'TaskListEnvelope',) as TaskListEnvelope;
}
return null;
}