# Dualship ## Docs - [Sync subscription plans to Stripe](https://docs.dualship.run/api-reference/admin/sync-subscription-plans-to-stripe.md): Creates or updates Stripe products and prices for all active subscription plans. Idempotent - safe to run multiple times. - [AI Completion](https://docs.dualship.run/api-reference/ai/ai-completion.md): Generate AI completion using configured providers - [Chat with conversation memory](https://docs.dualship.run/api-reference/ai/chat-with-conversation-memory.md): Send a message in a conversation with memory persistence - [Clear conversation history](https://docs.dualship.run/api-reference/ai/clear-conversation-history.md): Delete all messages in a conversation - [Create AI provider](https://docs.dualship.run/api-reference/ai/create-ai-provider.md): Add a new AI provider configuration - [Delete AI provider](https://docs.dualship.run/api-reference/ai/delete-ai-provider.md): Remove an AI provider configuration - [Generate flow from prompt](https://docs.dualship.run/api-reference/ai/generate-flow-from-prompt.md): Use AI to generate a flow from natural language - [Get AI provider](https://docs.dualship.run/api-reference/ai/get-ai-provider.md): Get details of a specific AI provider - [Get AI suggestions](https://docs.dualship.run/api-reference/ai/get-ai-suggestions.md): Get AI-powered node suggestions for a flow - [Get conversation history](https://docs.dualship.run/api-reference/ai/get-conversation-history.md): Get the message history for a conversation - [List AI providers](https://docs.dualship.run/api-reference/ai/list-ai-providers.md): Get all AI providers for a workspace - [Update AI provider](https://docs.dualship.run/api-reference/ai/update-ai-provider.md): Update an existing AI provider configuration - [Validate AI provider](https://docs.dualship.run/api-reference/ai/validate-ai-provider.md): Test the API key for a provider - [Create checkout session](https://docs.dualship.run/api-reference/billing/create-checkout-session.md): Create a Stripe checkout session for subscription upgrade - [Create customer portal session](https://docs.dualship.run/api-reference/billing/create-customer-portal-session.md): Create a Stripe customer portal session for subscription management - [Get billing information](https://docs.dualship.run/api-reference/billing/get-billing-information.md): Get current plan, usage, and subscription details for a workspace - [List available plans](https://docs.dualship.run/api-reference/billing/list-available-plans.md): Get all available subscription plans - [Delete document](https://docs.dualship.run/api-reference/documents/delete-document.md): Delete a document - [Get document](https://docs.dualship.run/api-reference/documents/get-document.md): Get document details by ID - [Get document content](https://docs.dualship.run/api-reference/documents/get-document-content.md): Get parsed content of a document - [List documents](https://docs.dualship.run/api-reference/documents/list-documents.md): Get all documents for the workspace - [Upload document](https://docs.dualship.run/api-reference/documents/upload-document.md): Upload a document for AI chat context - [Execute a single node](https://docs.dualship.run/api-reference/executor/execute-a-single-node.md): Execute a node with the provided context (for testing) - [Create a new flow](https://docs.dualship.run/api-reference/flows/create-a-new-flow.md): Create a new API flow - [Delete a flow](https://docs.dualship.run/api-reference/flows/delete-a-flow.md): Delete a flow by ID - [Deploy a flow](https://docs.dualship.run/api-reference/flows/deploy-a-flow.md): Deploy a flow to make it live - [Execute a flow](https://docs.dualship.run/api-reference/flows/execute-a-flow.md): Execute a flow directly (for testing) - [Get a flow](https://docs.dualship.run/api-reference/flows/get-a-flow.md): Get a specific flow by ID - [List all flows](https://docs.dualship.run/api-reference/flows/list-all-flows.md): Get a list of all flows for the project - [Update a flow](https://docs.dualship.run/api-reference/flows/update-a-flow.md): Update an existing flow - [Gateway endpoint for flow execution](https://docs.dualship.run/api-reference/gateway/gateway-endpoint-for-flow-execution.md): Execute flows based on project subdomain and path. Response structure depends on flow configuration. - [Gateway endpoint for flow execution by slug](https://docs.dualship.run/api-reference/gateway/gateway-endpoint-for-flow-execution-by-slug.md): Execute flows by project ID and flow slug. Response structure depends on flow configuration. - [Health check](https://docs.dualship.run/api-reference/health/health-check.md): Check if the service and its dependencies are healthy - [Accept invitation](https://docs.dualship.run/api-reference/invitations/accept-invitation.md): Accept an invitation and join a workspace - [Get invitation info](https://docs.dualship.run/api-reference/invitations/get-invitation-info.md): Get public information about an invitation by token (no auth required) - [Get a single execution log](https://docs.dualship.run/api-reference/logs/get-a-single-execution-log.md): Get detailed execution log by request ID - [Get runtime logs for a request](https://docs.dualship.run/api-reference/logs/get-runtime-logs-for-a-request.md): Get all runtime logs for a specific request ID - [List execution logs](https://docs.dualship.run/api-reference/logs/list-execution-logs.md): Get flow execution logs with granular filtering options - [List runtime logs](https://docs.dualship.run/api-reference/logs/list-runtime-logs.md): Get runtime logs with granular filtering options - [Get API metrics](https://docs.dualship.run/api-reference/monitoring/get-api-metrics.md): Get overall metrics (uptime, response times, request count) - [Get endpoint status](https://docs.dualship.run/api-reference/monitoring/get-endpoint-status.md): Get status and metrics for each endpoint - [Get incidents](https://docs.dualship.run/api-reference/monitoring/get-incidents.md): Get list of active and past incidents - [Configure a plugin](https://docs.dualship.run/api-reference/plugins/configure-a-plugin.md): Configure a plugin with credentials/settings - [Get plugin details](https://docs.dualship.run/api-reference/plugins/get-plugin-details.md): Get details of a specific plugin - [List available plugins](https://docs.dualship.run/api-reference/plugins/list-available-plugins.md): Get a list of all available plugins - [Create project](https://docs.dualship.run/api-reference/projects/create-project.md): Create a new project in the current organization - [Delete project](https://docs.dualship.run/api-reference/projects/delete-project.md): Delete a project by ID - [Get project](https://docs.dualship.run/api-reference/projects/get-project.md): Get a project by ID - [Get project settings](https://docs.dualship.run/api-reference/projects/get-project-settings.md): Get settings for a project including logging, rate limiting, CORS, and log filters - [List projects](https://docs.dualship.run/api-reference/projects/list-projects.md): Get all projects for the current organization - [Update project](https://docs.dualship.run/api-reference/projects/update-project.md): Update a project by ID - [Update project settings](https://docs.dualship.run/api-reference/projects/update-project-settings.md): Update settings for a project (partial updates supported) - [Bulk create secrets](https://docs.dualship.run/api-reference/secrets/bulk-create-secrets.md): Create multiple secrets at once - [Create a secret](https://docs.dualship.run/api-reference/secrets/create-a-secret.md): Create a new secret for a project - [Delete a secret](https://docs.dualship.run/api-reference/secrets/delete-a-secret.md): Delete a secret by key - [Get a secret](https://docs.dualship.run/api-reference/secrets/get-a-secret.md): Get a specific secret by key (value is masked) - [List project secrets](https://docs.dualship.run/api-reference/secrets/list-project-secrets.md): Get all secrets for a project (values are masked) - [Update a secret](https://docs.dualship.run/api-reference/secrets/update-a-secret.md): Update an existing secret - [Get current user](https://docs.dualship.run/api-reference/user/get-current-user.md): Get the authenticated user's profile information including workspaces and their plans - [Clerk webhook handler](https://docs.dualship.run/api-reference/webhooks/clerk-webhook-handler.md): Handle webhook events from Clerk (user.created, user.updated, user.deleted) - [Stripe webhook handler](https://docs.dualship.run/api-reference/webhooks/stripe-webhook-handler.md): Handle webhook events from Stripe (via Hookdeck) - [Create invitation](https://docs.dualship.run/api-reference/workspace-invitations/create-invitation.md): Create an invitation to join a workspace (requires owner or admin role) - [List invitations](https://docs.dualship.run/api-reference/workspace-invitations/list-invitations.md): Get all pending invitations for a workspace (requires owner or admin role) - [Revoke invitation](https://docs.dualship.run/api-reference/workspace-invitations/revoke-invitation.md): Revoke a pending invitation (requires owner or admin role) - [List roles](https://docs.dualship.run/api-reference/workspace-members/list-roles.md): Get all available roles for workspace membership - [List workspace members](https://docs.dualship.run/api-reference/workspace-members/list-workspace-members.md): Get all members of a workspace (requires membership) - [Remove workspace member](https://docs.dualship.run/api-reference/workspace-members/remove-workspace-member.md): Remove a member from a workspace (requires owner or admin role) - [Update member role](https://docs.dualship.run/api-reference/workspace-members/update-member-role.md): Change a member's role in a workspace (requires owner role) - [Create workspace](https://docs.dualship.run/api-reference/workspaces/create-workspace.md): Create a new workspace and add the authenticated user as owner - [Delete workspace](https://docs.dualship.run/api-reference/workspaces/delete-workspace.md): Delete a workspace (requires owner role) - [Delete workspace logo](https://docs.dualship.run/api-reference/workspaces/delete-workspace-logo.md): Remove the logo from a workspace (requires owner or admin role) - [Get workspace](https://docs.dualship.run/api-reference/workspaces/get-workspace.md): Get a workspace by ID (requires membership) - [List workspaces](https://docs.dualship.run/api-reference/workspaces/list-workspaces.md): Get all workspaces the authenticated user is a member of - [Update workspace](https://docs.dualship.run/api-reference/workspaces/update-workspace.md): Update a workspace (requires owner or admin role) - [Upload workspace logo](https://docs.dualship.run/api-reference/workspaces/upload-workspace-logo.md): Upload a logo image for a workspace (requires owner or admin role) - [Flow Structure](https://docs.dualship.run/flow-structure.md): Understanding triggers, nodes, and execution order - [Introduction](https://docs.dualship.run/introduction.md): Build APIs without writing code using JSON flow definitions - [Abort Node](https://docs.dualship.run/nodes/abort.md): Stop flow execution with an error response - [Condition Node](https://docs.dualship.run/nodes/condition.md): If/else branching based on expressions - [Delay Node](https://docs.dualship.run/nodes/delay.md): Pause flow execution for a specified duration - [Enqueue Node](https://docs.dualship.run/nodes/enqueue.md): Send messages to queue handlers for asynchronous processing - [HTTP Node](https://docs.dualship.run/nodes/http.md): Make outbound HTTP requests to external services - [Log Node](https://docs.dualship.run/nodes/log.md): Write custom entries to runtime logs - [Loop Node](https://docs.dualship.run/nodes/loop.md): Iterate over arrays, counts, or while conditions - [Nodes Overview](https://docs.dualship.run/nodes/overview.md): Understanding the 13 node types available in Dualship - [Parallel Node](https://docs.dualship.run/nodes/parallel.md): Execute multiple branches concurrently - [Request Node](https://docs.dualship.run/nodes/request.md): Validate incoming request data - [Response Node](https://docs.dualship.run/nodes/response.md): Send an HTTP response and end the flow - [Set Node](https://docs.dualship.run/nodes/set.md): Store values in the execution context - [Switch Node](https://docs.dualship.run/nodes/switch.md): Multi-way branching with pattern, range, or exact matching - [Transform Node](https://docs.dualship.run/nodes/transform.md): Reshape data and compute new values - [Try Node](https://docs.dualship.run/nodes/try.md): Error handling with catch and finally blocks - [Pricing](https://docs.dualship.run/pricing.md): Simple, transparent pricing for every stage of your project - [Project Settings](https://docs.dualship.run/project-settings.md): Configure logging, rate limiting, CORS, and log filtering for your project - [Quickstart](https://docs.dualship.run/quickstart.md): Create your first API flow in minutes - [Pipes Reference](https://docs.dualship.run/reference/pipes.md): Transform data inline with pipe functions - [Template Expressions](https://docs.dualship.run/reference/templates.md): Dynamic value resolution with template syntax - [Validation Rules Reference](https://docs.dualship.run/reference/validation-rules.md): Complete reference for request validation rules - [Secrets](https://docs.dualship.run/secrets.md): Securely store and use sensitive data like API keys and credentials - [Cron Trigger](https://docs.dualship.run/triggers/cron.md): Schedule flows to run on a recurring schedule - [HTTP Trigger](https://docs.dualship.run/triggers/http.md): Create REST API endpoints that execute your flows - [Queue Trigger](https://docs.dualship.run/triggers/queue.md): Process messages asynchronously with retries and backoff ## OpenAPI Specs - [openapi](https://docs.dualship.run/openapi.json)