| title | JobClient.query |
|---|---|
| icon | diagram-project |
def JobClient.query(
temporal_extent: TimeIntervalLike | IDIntervalLike,
automation_id: UUID | None = None,
job_states: JobState | list[JobState] | None = None,
name: str | None = None,
task_states: TaskState | list[TaskState] | None = None,
) -> list[Job]Query jobs in the specified interval.
The temporal extent to filter jobs by. If an `IDInterval` is given, jobs are filtered by their job id instead of their creation time. It can be specified in the following ways: - TimeInterval: interval -> Use the time interval as its given - DatetimeScalar: [time, time] -> Construct a TimeInterval with start and end time set to the given value and the end time inclusive - tuple of two DatetimeScalar: [start, end) -> Construct a TimeInterval with the given start and end time - `IDInterval`: interval -> Use the ID interval as its given - tuple of two UUIDs: [start, end) -> Construct an `IDInterval` with the given start and end id - tuple of two strings: [start, end) -> Construct an `IDInterval` with the given start and end id parsed from the strings The automation id to filter jobs by. If not provided, jobs from all automations are returned. A job state or list of job states to filter by. If specified, only jobs in any of the given states are returned. A name to filter jobs by. If specified, only jobs with a matching name are returned. The name is matched using case-insensitive fuzzy search. A task state or list of task states to filter jobs by. If specified, only jobs that have at least one task in any of the given states are returned. Useful for finding jobs with [optional](/workflows/concepts/tasks#optional-tasks) task failures, e.g. `task_states=TaskState.FAILED_OPTIONAL`.A list of jobs.
```python Python jobs = job_client.query(("2025-01-01", "2025-02-01")) ```