Back to Skills

dagu-rest-api

vinnie357
Updated Yesterday
25 views
0
View on GitHub
Designapiautomationdesign

About

This skill provides guidance for using Dagu's REST API to programmatically manage workflows, execute operations, and query status. It enables developers to integrate Dagu with external systems, automate workflow management, and build custom monitoring tools. Key capabilities include starting/stopping workflows, checking execution status, retrieving logs, and managing workflow definitions.

Documentation

Dagu REST API

Use this skill when integrating Dagu with external systems, automating workflow operations, or programmatically managing workflows through the API.

When to Use This Skill

Activate when:

  • Triggering workflows programmatically
  • Querying workflow status from applications
  • Building automation around Dagu
  • Integrating Dagu with CI/CD pipelines
  • Creating custom dashboards or monitoring tools
  • Scheduling workflows dynamically
  • Fetching execution logs programmatically

Core API Capabilities

The Dagu REST API provides endpoints for:

  1. Workflow Operations - Start, stop, retry workflows
  2. Status Queries - Get workflow and execution status
  3. DAG Management - List and inspect workflow definitions
  4. Execution History - Query past executions
  5. Log Retrieval - Fetch execution logs

Base URL

Default API base URL: http://localhost:8080/api/v1

Configure in Dagu settings if using a different host/port.

Authentication

Consult references/authentication.md for details on:

  • API token configuration
  • Authentication headers
  • Security best practices

Quick Start Operations

Start a Workflow

POST /dags/{dagName}/start

Basic example:

curl -X POST http://localhost:8080/api/v1/dags/my_workflow/start

For parameter passing and advanced options, see references/workflow-operations.md.

Get Workflow Status

GET /dags/{dagName}/status

Returns current status, running steps, and execution details.

Stop a Workflow

POST /dags/{dagName}/stop

Stops currently running execution.

When to Consult References

  • Detailed endpoint documentation: Read references/api-endpoints.md
  • Workflow operations (start/stop/retry): Read references/workflow-operations.md
  • Status and monitoring queries: Read references/status-queries.md
  • Authentication setup: Read references/authentication.md
  • Integration examples: Read references/integration-examples.md
  • Error handling: Read references/error-handling.md

Common Use Cases

CI/CD Integration

Trigger Dagu workflows from your CI/CD pipeline:

# In GitHub Actions, GitLab CI, etc.
curl -X POST http://dagu-server:8080/api/v1/dags/deploy_production/start \
  -H "Content-Type: application/json" \
  -d '{"params": "VERSION=1.2.3 ENVIRONMENT=production"}'

For complete CI/CD integration patterns, see references/integration-examples.md.

Monitoring and Alerting

Query workflow status for external monitoring:

# Check if workflow is running
curl http://localhost:8080/api/v1/dags/critical_job/status

Build custom alerts based on status responses. See references/status-queries.md for response format details.

Dynamic Scheduling

Trigger workflows based on external events:

import requests

def trigger_workflow(dag_name, params=None):
    url = f"http://localhost:8080/api/v1/dags/{dag_name}/start"
    data = {"params": params} if params else {}
    response = requests.post(url, json=data)
    return response.json()

For comprehensive examples in multiple languages, see references/integration-examples.md.

Response Formats

All API responses are JSON. Common response structure:

{
  "status": "success",
  "data": { ... }
}

Error responses:

{
  "status": "error",
  "message": "Error description"
}

For complete response schemas, consult references/api-endpoints.md.

Key Principles

  • RESTful design: Standard HTTP methods (GET, POST, DELETE)
  • JSON responses: All responses in JSON format
  • Idempotent operations: Safe to retry most operations
  • Error codes: Standard HTTP status codes
  • Stateless: Each request is independent

Pro Tips

  • Use the API for automation, use Web UI for manual operations
  • Implement retry logic for network failures
  • Cache DAG lists if querying frequently
  • Use webhooks for event-driven workflows when possible
  • Monitor API response times for performance issues
  • Validate workflow names before calling API to avoid errors

Quick Install

/plugin add https://github.com/vinnie357/claude-skills/tree/main/rest-api

Copy and paste this command in Claude Code to install this skill

GitHub 仓库

vinnie357/claude-skills
Path: dagu/skills/rest-api

Related Skills

sglang

Meta

SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.

View skill

evaluating-llms-harness

Testing

This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.

View skill

langchain

Meta

LangChain is a framework for building LLM applications using agents, chains, and RAG pipelines. It supports multiple LLM providers, offers 500+ integrations, and includes features like tool calling and memory management. Use it for rapid prototyping and deploying production systems like chatbots, autonomous agents, and question-answering services.

View skill

Algorithmic Art Generation

Meta

This skill helps developers create algorithmic art using p5.js, focusing on generative art, computational aesthetics, and interactive visualizations. It automatically activates for topics like "generative art" or "p5.js visualization" and guides you through creating unique algorithms with features like seeded randomness, flow fields, and particle systems. Use it when you need to build reproducible, code-driven artistic patterns.

View skill