Skip to content

API Reference

Django Automate exposes a versioned REST API at /api/v1/.


Endpoints

Endpoint Description
/api/v1/workflows/ Workflow management
/api/v1/executions/ Execution tracking
/api/v1/jobs/ Job queue operations
/api/v1/events/ Event ingestion
/api/v1/triggers/ Trigger configuration
/api/v1/connectors/ Connector management

Authentication

The API supports multiple authentication schemes:

# Token authentication
Authorization: Token <your-token>

# JWT authentication
Authorization: Bearer <jwt-token>

# Session (for admin users)
Cookie: sessionid=<session-id>

Configure in settings.py:

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication',
        'rest_framework.authentication.SessionAuthentication',
    ],
}

Correlation ID

All requests support correlation ID propagation for distributed tracing:

X-Correlation-ID: <uuid>

If not provided, a new UUID is generated and returned in the response.


OpenAPI Schema

Interactive documentation available at:

  • Swagger UI: /api/docs/
  • OpenAPI Schema: /api/schema/
# Download schema
curl https://your-server/api/schema/ -o openapi.yaml

Rate Limiting

Default rate limits (configurable via settings):

Scope Limit
Anonymous 100/hour
Authenticated 1000/hour
Burst 10/second

Error Format

All errors follow a consistent format:

{
  "error": {
    "code": "validation_error",
    "message": "Invalid input",
    "details": {
      "field": ["This field is required."]
    }
  },
  "correlation_id": "abc123"
}