ArthurAI Tasks API

Endpoints to manage tasks and their rules

OpenAPI Specification

arthurai-tasks-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Arthur GenAI Engine Agent Discovery Tasks API
  version: 2.1.688
  description: Endpoints to manage tasks and their rules
tags:
- name: Tasks
  description: Endpoints to manage tasks and their rules
paths:
  /api/v2/tasks:
    get:
      tags:
      - Tasks
      summary: Get All Tasks
      description: '[Deprecated] Use /tasks/search endpoint. This endpoint will be removed in a future release.'
      operationId: get_all_tasks_api_v2_tasks_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/TaskResponse'
                type: array
                title: Response Get All Tasks Api V2 Tasks Get
      deprecated: true
      security:
      - API Key: []
    post:
      tags:
      - Tasks
      summary: Create Task
      description: Register a new task. When a new task is created, all existing default rules will be auto-applied for this new task. Optionally specify if the task is agentic.
      operationId: create_task_api_v2_tasks_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewTaskRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - API Key: []
  /api/v2/tasks/{task_id}:
    delete:
      tags:
      - Tasks
      summary: Archive Task
      description: Archive task. Also archives all task-scoped rules. Associated default rules are unaffected.
      operationId: archive_task_api_v2_tasks__task_id__delete
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Tasks
      summary: Get Task
      description: Get tasks.
      operationId: get_task_api_v2_tasks__task_id__get
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/tasks/{task_id}/unarchive:
    post:
      tags:
      - Tasks
      summary: Unarchive Task
      description: Unarchive a previously archived task. Also unarchives all task-scoped rules and metrics that were archived with it.
      operationId: unarchive_task_api_v2_tasks__task_id__unarchive_post
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/agent-tasks:
    get:
      tags:
      - Tasks
      summary: Get Agent Tasks
      description: Get agentic tasks with enriched agent metadata (tools, sub-agents, models). Returns only agentic tasks.
      operationId: get_agent_tasks_api_v2_agent_tasks_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/EnrichedTaskResponse'
                type: array
                title: Response Get Agent Tasks Api V2 Agent Tasks Get
      security:
      - API Key: []
  /api/v2/task:
    post:
      tags:
      - Tasks
      summary: Redirect To Tasks
      description: Redirect to /tasks endpoint.
      operationId: redirect_to_tasks_api_v2_task_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /api/v2/tasks/search:
    post:
      tags:
      - Tasks
      summary: Search Tasks
      description: Search tasks. Can filter by task IDs, task name substring, and agentic status.
      operationId: search_tasks_api_v2_tasks_search_post
      security:
      - API Key: []
      parameters:
      - name: sort
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/PaginationSortMethod'
          description: Sort the results (asc/desc)
          default: desc
        description: Sort the results (asc/desc)
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          description: Page size. Default is 10. Must be greater than 0 and less than 5000.
          default: 10
          title: Page Size
        description: Page size. Default is 10. Must be greater than 0 and less than 5000.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: Page number
          default: 0
          title: Page
        description: Page number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchTasksRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchTasksResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/tasks/{task_id}/rules:
    post:
      tags:
      - Tasks
      summary: Create Task Rule
      description: 'Create a rule to be applied only to this task. Available rule types are KeywordRule, ModelHallucinationRuleV2, ModelSensitiveDataRule, PIIDataRule, PromptInjectionRule, RegexRule, ToxicityRule.Note: The rules are cached by the validation endpoints for 60 seconds.'
      operationId: create_task_rule_api_v2_tasks__task_id__rules_post
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewRuleRequest'
            examples:
              example1:
                summary: Sensitive Data Example
                description: Sensitive Data Example with its required configuration
                value:
                  name: Sensitive Data Rule
                  type: ModelSensitiveDataRule
                  apply_to_prompt: true
                  apply_to_response: false
                  config:
                    examples:
                    - example: John has O negative blood group
                      result: true
                    - example: Most of the people have A positive blood group
                      result: false
                    hint: specific individual's blood types
              example2:
                summary: Regex Example
                description: Regex Example with its required configuration. Be sure to properly encode requests using JSON libraries. For example, the regex provided encodes to a different string when encoded to account for escape characters.
                value:
                  name: SSN Regex Rule
                  type: RegexRule
                  apply_to_prompt: true
                  apply_to_response: true
                  config:
                    regex_patterns:
                    - \d{3}-\d{2}-\d{4}
                    - \d{5}-\d{6}-\d{7}
              example3:
                summary: Keywords Rule Example
                description: Keywords Rule Example with its required configuration
                value:
                  name: Blocked Keywords Rule
                  type: KeywordRule
                  apply_to_prompt: true
                  apply_to_response: true
                  config:
                    keywords:
                    - Blocked_Keyword_1
                    - Blocked_Keyword_2
              example4:
                summary: Prompt Injection Rule Example
                description: Prompt Injection Rule Example, no configuration required
                value:
                  name: Prompt Injection Rule
                  type: PromptInjectionRule
                  apply_to_prompt: true
                  apply_to_response: false
              example5:
                summary: Hallucination Rule V1 Example (Deprecated)
                description: Hallucination Rule Example, no configuration required (This rule is deprecated. Use ModelHallucinationRuleV2 instead.)
                value:
                  name: Hallucination Rule
                  type: ModelHallucinationRule
                  apply_to_prompt: false
                  apply_to_response: true
              example6:
                summary: Hallucination Rule V2 Example
                description: Hallucination Rule Example, no configuration required
                value:
                  name: Hallucination Rule
                  type: ModelHallucinationRuleV2
                  apply_to_prompt: false
                  apply_to_response: true
              example7:
                summary: Hallucination Rule V3 Example (Beta)
                description: Hallucination Rule Example, no configuration required. This rule is in beta and must be enabled by the system administrator.
                value:
                  name: Hallucination Rule
                  type: ModelHallucinationRuleV3
                  apply_to_prompt: false
                  apply_to_response: true
              example8:
                summary: PII Rule Example
                description: PII Rule Example, no configuration required. "disabled_pii_entities", "confidence_threshold", and "allow_list" accepted. Valid value for "confidence_threshold" is 0.0-1.0. Valid values for "disabled_pii_entities" are CREDIT_CARD,CRYPTO,DATE_TIME,EMAIL_ADDRESS,IBAN_CODE,IP_ADDRESS,NRP,LOCATION,PERSON,PHONE_NUMBER,MEDICAL_LICENSE,URL,US_BANK_NUMBER,US_DRIVER_LICENSE,US_ITIN,US_PASSPORT,US_SSN
                value:
                  name: PII Rule
                  type: PIIDataRule
                  apply_to_prompt: true
                  apply_to_response: true
                  config:
                    disabled_pii_entities:
                    - EMAIL_ADDRESS
                    - PHONE_NUMBER
                    confidence_threshold: '0.5'
                    allow_list:
                    - arthur.ai
                    - Arthur
              example9:
                summary: Toxicity Rule Example
                description: Toxicity Rule Example, no configuration required. Threshold accepted
                value:
                  name: Toxicity Rule
                  type: ToxicityRule
                  apply_to_prompt: true
                  apply_to_response: true
                  config:
                    threshold: 0.5
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuleResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/tasks/{task_id}/rules/{rule_id}:
    patch:
      tags:
      - Tasks
      summary: Update Task Rules
      description: Enable or disable an existing rule for this task including the default rules.
      operationId: update_task_rules_api_v2_tasks__task_id__rules__rule_id__patch
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      - name: rule_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Rule Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRuleRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Tasks
      summary: Archive Task Rule
      description: Archive an existing rule for this task.
      operationId: archive_task_rule_api_v2_tasks__task_id__rules__rule_id__delete
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      - name: rule_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Rule Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/tasks/{task_id}/metrics:
    post:
      tags:
      - Tasks
      summary: Create Task Metric
      description: Create metrics for a task. Only agentic tasks can have metrics.
      operationId: create_task_metric_api_v2_tasks__task_id__metrics_post
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewMetricRequest'
            examples:
              example1:
                type: QueryRelevance
                name: My User Query Relevance
                metric_metadata: This is a test metric metadata
              example2:
                type: QueryRelevance
                name: My User Query Relevance with Config
                metric_metadata: This is a test metric metadata
                config:
                  relevance_threshold: 0.8
                  use_llm_judge: false
              example3:
                type: ResponseRelevance
                name: My Response Relevance
                metric_metadata: This is a test metric metadata
                config:
                  use_llm_judge: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/tasks/{task_id}/metrics/{metric_id}:
    patch:
      tags:
      - Tasks
      summary: Update Task Metric
      description: Update a task metric.
      operationId: update_task_metric_api_v2_tasks__task_id__metrics__metric_id__patch
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      - name: metric_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Metric Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMetricRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Tasks
      summary: Archive Task Metric
      description: Archive a task metric.
      operationId: archive_task_metric_api_v2_tasks__task_id__metrics__metric_id__delete
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      - name: metric_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Metric Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/tasks/{task_id}/demos/chatbot/stream:
    post:
      tags:
      - Tasks
      summary: Stream Demo Chatbot
      description: Stream a demo chatbot response.
      operationId: stream_demo_chatbot_api_v1_tasks__task_id__demos_chatbot_stream_post
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          title: Task Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatbotRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AgentMetadataResponse:
      properties:
        provider:
          $ref: '#/components/schemas/RegisteredAgentProvider'
          description: Provider of the registered agent.
        gcp_metadata:
          anyOf:
          - $ref: '#/components/schemas/GCPAgentMetadataResponse'
          - type: 'null'
          description: Metadata for the agent.
        service_names:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Service Names
          description: List of service names that send traces to this task
      type: object
      required:
      - provider
      title: AgentMetadataResponse
      description: Agent metadata for responses.
    ToxicityConfig:
      properties:
        threshold:
          type: number
          title: Threshold
          description: 'Optional. Float (0, 1) indicating the level of tolerable toxicity to consider the rule passed or failed. Min: 0 (no toxic language) Max: 1 (very toxic language). Default: 0.5'
          default: 0.5
      additionalProperties: false
      type: object
      title: ToxicityConfig
      example:
        threshold: 0.5
    MetricType:
      type: string
      enum:
      - QueryRelevance
      - ResponseRelevance
      - ToolSelection
      title: MetricType
    NewRuleRequest:
      properties:
        name:
          type: string
          title: Name
          description: Name of the rule
          examples:
          - SSN Regex Rule
        type:
          type: string
          title: Type
          description: Type of the rule. It can only be one of KeywordRule, RegexRule, ModelSensitiveDataRule, ModelHallucinationRule, ModelHallucinationRuleV2, PromptInjectionRule, PIIDataRule
          examples:
          - RegexRule
        apply_to_prompt:
          type: boolean
          title: Apply To Prompt
          description: Boolean value to enable or disable the rule for llm prompt
          examples:
          - true
        apply_to_response:
          type: boolean
          title: Apply To Response
          description: Boolean value to enable or disable the rule for llm response
          examples:
          - false
        config:
          anyOf:
          - $ref: '#/components/schemas/KeywordsConfig'
          - $ref: '#/components/schemas/RegexConfig'
          - $ref: '#/components/schemas/ExamplesConfig'
          - $ref: '#/components/schemas/ToxicityConfig'
          - $ref: '#/components/schemas/PIIConfig'
          - type: 'null'
          title: Config
          description: Config of the rule
      type: object
      required:
      - name
      - type
      - apply_to_prompt
      - apply_to_response
      title: NewRuleRequest
      example1:
        description: Sensitive Data Example with its required configuration
        summary: Sensitive Data Example
        value:
          apply_to_prompt: true
          apply_to_response: false
          config:
            examples:
            - example: John has O negative blood group
              result: true
            - example: Most of the people have A positive blood group
              result: false
            hint: specific individual's blood types
          name: Sensitive Data Rule
          type: ModelSensitiveDataRule
      example2:
        description: Regex Example with its required configuration. Be sure to properly encode requests using JSON libraries. For example, the regex provided encodes to a different string when encoded to account for escape characters.
        summary: Regex Example
        value:
          apply_to_prompt: true
          apply_to_response: true
          config:
            regex_patterns:
            - \d{3}-\d{2}-\d{4}
            - \d{5}-\d{6}-\d{7}
          name: SSN Regex Rule
          type: RegexRule
      example3:
        description: Keywords Rule Example with its required configuration
        summary: Keywords Rule Example
        value:
          apply_to_prompt: true
          apply_to_response: true
          config:
            keywords:
            - Blocked_Keyword_1
            - Blocked_Keyword_2
          name: Blocked Keywords Rule
          type: KeywordRule
      example4:
        description: Prompt Injection Rule Example, no configuration required
        summary: Prompt Injection Rule Example
        value:
          apply_to_prompt: true
          apply_to_response: false
          name: Prompt Injection Rule
          type: PromptInjectionRule
      example5:
        description: Hallucination Rule Example, no configuration required (This rule is deprecated. Use ModelHallucinationRuleV2 instead.)
        summary: Hallucination Rule V1 Example (Deprecated)
        value:
          apply_to_prompt: false
          apply_to_response: true
          name: Hallucination Rule
          type: ModelHallucinationRule
      example6:
        description: Hallucination Rule Example, no configuration required
        summary: Hallucination Rule V2 Example
        value:
          apply_to_prompt: false
          apply_to_response: true
          name: Hallucination Rule
          type: ModelHallucinationRuleV2
      example7:
        description: Hallucination Rule Example, no configuration required. This rule is in beta and must be enabled by the system administrator.
        summary: Hallucination Rule V3 Example (Beta)
        value:
          apply_to_prompt: false
          apply_to_response: true
          name: Hallucination Rule
          type: ModelHallucinationRuleV3
      example8:
        description: PII Rule Example, no configuration required. "disabled_pii_entities", "confidence_threshold", and "allow_list" accepted. Valid value for "confidence_threshold" is 0.0-1.0. Valid values for "disabled_pii_entities" are CREDIT_CARD,CRYPTO,DATE_TIME,EMAIL_ADDRESS,IBAN_CODE,IP_ADDRESS,NRP,LOCATION,PERSON,PHONE_NUMBER,MEDICAL_LICENSE,URL,US_BANK_NUMBER,US_DRIVER_LICENSE,US_ITIN,US_PASSPORT,US_SSN
        summary: PII Rule Example
        value:
          apply_to_prompt: true
          apply_to_response: true
          config:
            allow_list:
            - arthur.ai
            - Arthur
            confidence_threshold: '0.5'
            disabled_pii_entities:
            - EMAIL_ADDRESS
            - PHONE_NUMBER
          name: PII Rule
          type: PIIDataRule
      example9:
        description: Toxicity Rule Example, no configuration required. Threshold accepted
        summary: Toxicity Rule Example
        value:
          apply_to_prompt: true
          apply_to_response: true
          config:
            threshold: 0.5
          name: Toxicity Rule
          type: ToxicityRule
    AgentCreationSource:
      anyOf:
      - $ref: '#/components/schemas/GCPAgentCreationSource'
      - $ref: '#/components/schemas/OTELAgentCreationSource'
      - $ref: '#/components/schemas/ManualAgentCreationSource'
      title: AgentCreationSource
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    RegisteredAgentProvider:
      type: string
      enum:
      - gcp
      - external
      title: RegisteredAgentProvider
    LLMModel:
      properties:
        name:
          type: string
          title: Name
          description: Name of the model.
      type: object
      required:
      - name
      title: LLMModel
      description: Model used by an agent.
    UpdateRuleRequest:
      properties:
        enabled:
          type: boolean
          title: Enabled
          description: 'Boolean value to enable or disable the rule. '
      type: object
      required:
      - enabled
      title: UpdateRuleRequest
    KeywordsConfig:
      properties:
        keywords:
          items:
            type: string
          type: array
          title: Keywords
          description: List of Keywords
      type: object
      required:
      - keywords
      title: KeywordsConfig
      example:
        keywords:
        - Blocked_Keyword_1
        - Blocked_Keyword_2
    MetricResponse:
      properties:
        id:
          type: string
          title: Id
          description: ID of the Metric
        name:
          type: string
          title: Name
          description: Name of the Metric
        type:
          $ref: '#/components/schemas/MetricType'
          description: Type of the Metric
        metric_metadata:
          type: string
          title: Metric Metadata
          description: Metadata of the Metric
        config:
          anyOf:
          - type: string
          - type: 'null'
          title: Config
          description: JSON-serialized configuration for the Metric
        created_at:
          type: string
          format: date-time
          title: Created At
          description: Time the Metric was created in unix milliseconds
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: Time the Metric was updated in unix milliseconds
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
          description: Whether the Metric is enabled
      type: object
      required:
      - id
      - name
      - type
      - metric_metadata
      - created_at
      - updated_at
      title: MetricResponse
    ManualAgentCreationSource:
      properties:
        type:
          type: string
          const: MANUAL
          title: Type
          default: MANUAL
      type: object
      title: ManualAgentCreationSource
      description: Creation source for manually created tasks.
    RuleResponse:
      properties:
        id:
          type: string
          title: Id
          description: ID of the Rule
        name:
          type: string
          title: Name
          description: Name of the Rule
        type:
          $ref: '#/components/schemas/RuleType'
          description: Type of Rule
        apply_to_prompt:
          type: boolean
          title: Apply To Prompt
          description: Rule applies to prompt
        apply_to_response:
          type: boolean
          title: Apply To Response
          description: Rule applies to response
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
          description: Rule is enabled for the task
        scope:
          $ref: '#/components/schemas/RuleScope'
          description: Scope of the rule. The rule can be set at default level or task level.
        created_at:
          type: integer
          title: Created At
          description: Time the rule was created in unix milliseconds
        updated_at:
          type: integer
          title: Updated At
          description: Time the rule was updated in unix milliseconds
        config:
          anyOf:
          - $ref: '#/components/schemas/KeywordsConfig'
          - $ref: '#/components/schemas/RegexConfig'
          - $ref: '#/components/schemas/ExamplesConfig'
          - $ref: '#/components/schemas/ToxicityConfig'
          - $ref: '#/components/schemas/PIIConfig'
          - type: 'null'
          title: Config
          description: Config of the rule
      type: object
      required:
      - id
      - name
      - type
      - apply_to_prompt
      - apply_to_response
      - scope
      - created_at
      - updated_at
      title: RuleResponse
    TaskResponse:
      properties:
        id:
          type: string
          title: Id
          description: ' ID of the task'
        name:
          type: string
          title: Name
          description: Name of the task
        created_at:
          type: integer
          title: Created At
          description: Time the task was created in unix milliseconds
        updated_at:
          type: integer
          title: Updated At
          description: Time the task was created in unix milliseconds
        is_agentic:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Agentic
          description: Whether the task is agentic or not
        is_system_task:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is System Task
          description: Whether this is a system-managed task (e.g., for traces without a task_id or service name, or for Arthur-created traces)
          default: false
        is_autocreated:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Autocreated
          description: Whether this task was automatically created by Arthur
          default: false
        is_archived:
          anyOf:
          - type: boolean
          - type: 'null'
     

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/arthurai/refs/heads/main/openapi/arthurai-tasks-api-openapi.yml