Developers
FinkMesh API v1
The platform API, beta outbound webhooks, and API-token MCP server are token-authenticated, workspace-scoped, and guarded by readiness checks, rate limits, audit logs, and required idempotency for public writes.
Authentication
Use Authorization: Bearer fmsh_live_... from Settings > API.
Version
Responses include apiVersion: 2026-07-01 and FinkMesh-API-Version.
Pagination
List endpoints accept limit and cursor and return pagination.nextCursor.
Quickstart
Create a scoped API token in Settings, export it locally, then call the API over HTTPS.
- Call
/api/v1/meto confirm token context. - List workflows and pick a workflow id.
- Check readiness before running or publishing.
- Trigger a run with a unique
Idempotency-Key. - Poll
/api/v1/runs/{runId}for the result.
export FINKMESH_TOKEN="fmsh_live_..."
curl https://www.finkmesh.com/api/v1/me \
-H "Authorization: Bearer $FINKMESH_TOKEN"
curl https://www.finkmesh.com/api/v1/workflows?limit=10 \
-H "Authorization: Bearer $FINKMESH_TOKEN"
curl -X POST https://www.finkmesh.com/api/v1/workflows/wf_123/run \
-H "Authorization: Bearer $FINKMESH_TOKEN" \
-H "Idempotency-Key: run-$(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"triggerData":{"source":"quickstart"}}'Response Shape
{
"data": {},
"requestId": "req_...",
"apiVersion": "2026-07-01"
}{
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "Token lacks required scope: workflows:read.",
"requestId": "req_...",
"apiVersion": "2026-07-01",
"details": {
"requiredScope": "workflows:read"
}
}
}Public Write Contract
Every POST, PATCH, and DELETE under /api/v1 requires Idempotency-Key. This includes draft readiness checks because the request body can be replayed safely and consistently by API clients.
Endpoints
| GET | /api/v1/meInspect the token, user, workspace, and organization context. |
| GET | /api/v1/orgInspect the active organization, workspace, and subscription context. |
| GET | /api/v1/usageRead monthly run usage and plan entitlements. |
| GET | /api/v1/limitsRead limits, feature entitlements, and current usage counters. |
| GET | /api/v1/workspacesList workspaces visible to the token organization. |
| GET | /api/v1/workflowsList workflow summaries for the token workspace. |
| GET | /api/v1/workflows/{workflowId}Fetch a curated workflow summary without raw graph secrets. |
| GET | /api/v1/workflows/{workflowId}/readinessEvaluate persisted workflow readiness for publish/run actions. |
| POST | /api/v1/workflows/{workflowId}/readinessEvaluate readiness against a supplied draft graph. Requires Idempotency-Key. |
| POST | /api/v1/workflows/{workflowId}/runQueue a public API-triggered workflow run. Requires Idempotency-Key. |
| POST | /api/v1/workflows/{workflowId}/publishPublish a workflow after plan and readiness gates pass. Requires Idempotency-Key. |
| POST | /api/v1/workflows/{workflowId}/pausePause a published workflow without editing its graph. Requires Idempotency-Key. |
| POST | /api/v1/workflows/{workflowId}/resumeResume a paused or auto-paused workflow after publish gates pass. Requires Idempotency-Key. |
| GET | /api/v1/runsList workflow run summaries with status, trigger, timing, and failure metadata. |
| GET | /api/v1/runs/{runId}Fetch run detail with redacted errors and step metadata. |
| GET | /api/v1/templatesSearch verified public templates and private workspace templates. |
| GET | /api/v1/connectionsList connection metadata and health without credential secrets. |
| GET | /api/v1/webhook-endpointsList outbound webhook endpoints. |
| POST | /api/v1/webhook-endpointsCreate an HTTPS outbound webhook endpoint. Requires Idempotency-Key. |
| POST | /api/v1/webhook-endpoints/{endpointId}/testQueue a test delivery for an endpoint. Requires Idempotency-Key. |
| GET | /api/v1/webhook-endpoints/{endpointId}/deliveriesList delivery attempts for an outbound endpoint. |
| POST | /api/v1/webhook-deliveries/{deliveryId}/retryRetry a failed or dead delivery. Requires Idempotency-Key. |
| GET | /api/v1/support/ticketsList support tickets for the token workspace. |
| POST | /api/v1/support/ticketsCreate a support ticket and optional screenshot attachments. |
| POST | /api/v1/support/tickets/{ticketId}/messagesAdd a user reply to an existing support ticket. |