---
title: "GET /model-hub/annotation-queues/{queue_id}/automation-rules/{id}/"
method: GET
path: "/model-hub/annotation-queues/{queue_id}/automation-rules/{id}/"
tags: ["model-hub"]
---

# GET /model-hub/annotation-queues/{queue_id}/automation-rules/{id}/

`GET /model-hub/annotation-queues/{queue_id}/automation-rules/{id}/`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/model-hub/annotation-queues/{queue_id}/automation-rules/{id}/`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in header `X-Secret-Key`

## Response `200`

OK

- AutomationRule
  - `id` string, uuid
  - `name` string, required
  - `queue` string, uuid
  - `source_type` 'dataset_row' | 'trace' | 'observation_span' | 'prototype_run' | 'call_execution' | 'trace_session', required
  - `conditions` AutomationRuleConditions
    - `operator` 'and'
    - `filter` object[]
      - `column_id` string, required: Column or attribute id to filter on.
      - `property_id` string: Optional stable namespaced Property Registry identity.
      - `display_name` string: Optional UI label for chips and saved views.
      - `source` string: Optional source surface for mixed-source filters, for example traces, datasets, or simulation.
      - `output_type` string: Optional metric output type metadata used by eval and annotation filters.
      - `filter_config` object, required
        - `filter_type` string, required: Canonical field type, for example text, number, boolean, datetime, categorical, thumbs, annotator, array, or map. Legacy json is value-sensitive for SPAN_ATTRIBUTE filters: list values become array and object values become map.
        - `filter_op` string, required: Canonical operator from api_contracts/filter_contract.json, for example equals, not_equals, in, not_in, between, not_between, is_null, or is_not_null.
        - `filter_value` unknown
        - `col_type` string: Column family such as SYSTEM_METRIC, SPAN_ATTRIBUTE, EVAL_METRIC, ANNOTATION, or NORMAL.
        - `attribute_value_types` string[]: Optional storage-family provenance aligned one-for-one with filter_value for mixed SPAN_ATTRIBUTE in/not_in filters. Null entries retain filter_type semantics for manually entered values.
    - `scope` AutomationRuleScope
      - `dataset_id` string, uuid
      - `project_id` string, uuid
      - `is_voice_call` boolean
      - `remove_simulation_calls` boolean
    - `rules` object[]
      - `field` string, required
      - `op` string
      - `value` unknown
  - `enabled` boolean
  - `trigger_frequency` 'manual' | 'hourly' | 'daily' | 'weekly' | 'monthly'
  - `organization` string, uuid
  - `created_by` string, uuid, nullable
  - `created_by_name` string
  - `last_triggered_at` string, date-time, nullable
  - `trigger_count` integer
  - `created_at` string, date-time

## Other responses

- `default`: Default error response

---

[API](https://skmtc.dev/futureagi/apis/future-agi-management-api.md) · [All operations](https://skmtc.dev/futureagi/apis/future-agi-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/futureagi/apis/future-agi-management-api/revisions/c8684118e142?raw)
