{"owner":"YaoApp","repo":"yao","hasSpec":true,"specFile":"openapi/job/doc.yml","branch":"HEAD","format":"yaml","version":"Unknown","title":"yao","description":"","endpoints":[],"spec":"group: job\ntype: process\nentries:\n  # Job Management\n  - name: jobs.list\n    desc: List jobs with pagination and optional query parameters\n    args:\n      - name: page\n        type: number\n        required: false\n        desc: \"Page number (default: 1)\"\n      - name: pagesize\n        type: number\n        required: false\n        desc: \"Number of records per page (default: 20)\"\n      - name: params\n        type: object\n        required: false\n        desc: Query parameters with wheres, orders, etc.\n    return:\n      type: object\n      desc: Paginated job list with data array and pagination info\n\n  - name: jobs.get\n    desc: Get a specific job by its ID\n    args:\n      - name: jobID\n        type: string\n        required: true\n        desc: Job ID to retrieve\n    return:\n      type: object\n      desc: Job instance details including status, schedule, last_run_at, next_run_at, etc.\n\n  - name: jobs.count\n    desc: Count jobs matching query parameters\n    args:\n      - name: params\n        type: object\n        required: false\n        desc: Query parameters with wheres conditions\n    return:\n      type: object\n      desc: \"Object with count\"\n\n  - name: jobs.stop\n    desc: Stop a running job\n    args:\n      - name: jobID\n        type: string\n        required: true\n        desc: Job ID to stop\n    return:\n      type: object\n      desc: \"Object with message and job_id\"\n\n  # Execution Management\n  - name: executions.list\n    desc: List executions for a specific job\n    args:\n      - name: jobID\n        type: string\n        required: true\n        desc: Job ID to list executions for\n    return:\n      type: object\n      desc: \"Object with executions array and count\"\n\n  - name: executions.get\n    desc: Get a specific execution by its ID\n    args:\n      - name: executionID\n        type: string\n        required: true\n        desc: Execution ID to retrieve\n      - name: params\n        type: object\n        required: false\n        desc: Optional query parameters\n    return:\n      type: object\n      desc: Execution details including status, progress, started_at, ended_at, duration, etc.\n\n  - name: executions.count\n    desc: Count executions for a specific job\n    args:\n      - name: jobID\n        type: string\n        required: true\n        desc: Job ID to count executions for\n      - name: params\n        type: object\n        required: false\n        desc: Optional query parameters with wheres conditions\n    return:\n      type: object\n      desc: \"Object with count\"\n\n  - name: executions.stop\n    desc: Stop a running execution (stops the parent job)\n    args:\n      - name: executionID\n        type: string\n        required: true\n        desc: Execution ID to stop\n    return:\n      type: object\n      desc: \"Object with message, execution_id, and job_id\"\n\n  # Log Management\n  - name: logs.list\n    desc: List logs for a specific job with pagination\n    args:\n      - name: jobID\n        type: string\n        required: true\n        desc: Job ID to list logs for\n      - name: page\n        type: number\n        required: false\n        desc: \"Page number (default: 1)\"\n      - name: pagesize\n        type: number\n        required: false\n        desc: \"Number of records per page (default: 50)\"\n      - name: params\n        type: object\n        required: false\n        desc: Optional query parameters with wheres conditions (level, execution_id filters)\n    return:\n      type: object\n      desc: Paginated log list with data array and pagination info\n\n  # Category Management\n  - name: categories.list\n    desc: List job categories with optional filtering\n    args:\n      - name: params\n        type: object\n        required: false\n        desc: Query parameters with wheres conditions (enabled, system filters)\n    return:\n      type: object\n      desc: \"Object with categories array and count\"\n\n  - name: categories.get\n    desc: Get a specific job category by its ID\n    args:\n      - name: categoryID\n        type: string\n        required: true\n        desc: Category ID to retrieve\n    return:\n      type: object\n      desc: Category details including name, description, enabled status, etc.\n\n  - name: categories.count\n    desc: Count job categories matching query parameters\n    args:\n      - name: params\n        type: object\n        required: false\n        desc: Query parameters with wheres conditions\n    return:\n      type: object\n      desc: \"Object with count\"\n"}