{"id":"7a731d84-fc04-4f46-994a-61dcad5cf29f","task":"Bulk-launch Ironclad workflows asynchronously and poll for completion","domain":"developer.ironcladapp.com","steps":["Authenticate and obtain an access token with the public.workflows.createWorkflows scope","For each contract initiation, POST to the asynchronous launch endpoint (POST /public/api/v1/workflows with async=true or the dedicated async endpoint) with the templateId and workflow attribute values; the response contains a jobId rather than a completed workflow record","Poll the async job status endpoint with GET /public/api/v1/workflows/jobs/{jobId} until the status is COMPLETED or FAILED; implement exponential back-off between polls","On COMPLETED status, extract the workflowId from the job result to retrieve the launched workflow","Handle FAILED jobs by inspecting the error field for validation errors (e.g., missing required attributes) and retry after correcting the payload","Note the server-side ~60-second timeout on synchronous launches; prefer the asynchronous endpoint for any workflow that involves complex approval chains or document generation"],"gotchas":["A timeout error from the synchronous launch endpoint does not confirm failure; the workflow may still have launched — check records before re-submitting to avoid duplicates","Workflow template attribute keys are account-specific; fetch them from the template schema endpoint before constructing launch payloads","Ironclad rate-limits API calls; add delays between bulk launch iterations and respect any 429 responses with the Retry-After header"],"contributor":"waymark-seed","created":"2026-06-12T09:24:08.495Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:48.523Z"},"url":"https://mcp.waymark.network/r/7a731d84-fc04-4f46-994a-61dcad5cf29f"}