API & Client
Comprehensive guide to interacting with Elsa Server programmatically via HTTP APIs and the elsa-api-client library, covering workflow publishing, instance management, bookmarks, and resilience pattern
Executive Summary
When to Choose Direct HTTP vs Client Library
Approach
Best For
Pros
Cons
Architecture Overview
Core Concepts
Entity
Purpose
Key Endpoints
High-Level Workflow Lifecycle
Authentication & Identity
Quick Reference
Bearer Token (curl)
API Key (curl)
elsa-api-client Configuration
Publishing Workflow Definitions
Using elsa-api-client (C#)
Property
Description
HTTP Variant (POST)
Versioning & Publishing Semantics
Draft vs Published
State
Description
Can Execute?
Publishing Options
AutoUpdateConsumingWorkflows
Activation Strategies
Strategy
Behavior
Starting / Instantiating Workflows
Using elsa-api-client (C#)
HTTP Variant (POST)
Key Parameters
Parameter
Description
Required
Querying Workflow Definitions & Instances
Filtering Workflow Instances
Using elsa-api-client (C#)
HTTP Variant (curl)
Query Parameters
Parameter
Description
Type
Bookmarks & Resuming
How Bookmarks Work
Bookmark Creation
Stimulus Hashing
Resuming Workflows
Token-Based Resume (URL)
Stimulus-Based Resume
elsa-api-client Resume
Resume Flow & Locking
Security Note
Incidents & Retry / Resilience
Resilience Strategies
Setting a Resilience Strategy (Conceptual Pattern)
Handling Incidents
Commit Strategies
Selecting a Strategy
Available Strategies
Strategy
Behavior
Use Case
Pagination & Performance
Pagination Parameters
Parameter
Description
Default
Max
Example with Pagination
Performance Recommendations
Error Handling & Troubleshooting
Common HTTP Status Codes
Status
Meaning
Common Cause
Validation Errors (400)
Bookmark Not Found (404/410)
Troubleshooting Checklist
Best Practices Summary
Correlation IDs
Idempotent Resume Handlers
Commit Strategy Selection
Requirement
Recommended Strategy
Client Instrumentation
General Recommendations
Example Files
Related Documentation
Last updated