{
  "version": 2,
  "description": "Uniform task-first catalog for SynthCrew Agent API V2. Live responses are filtered to the workspace key scopes.",
  "authentication": "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
  "base_path": "/api/v2/agent",
  "workflows": [
    {
      "id": "verify_connection",
      "title": "Verify the connection",
      "goal": "Confirm the key, workspace, scopes, and contract before doing work.",
      "required_scopes": [],
      "human_steps": [],
      "steps": [
        {
          "method": "GET",
          "path": "/api/v2/agent/self-test",
          "done_when": "status is ready"
        },
        {
          "method": "GET",
          "path": "/api/v2/agent/catalog",
          "done_when": "the intended workflow and action are returned"
        }
      ],
      "done_when": "The self-test is ready and the required actions are visible."
    },
    {
      "id": "connect_mailbox",
      "title": "Connect a mailbox",
      "goal": "Guide a person through mailbox consent, then verify readiness.",
      "required_scopes": [
        "mailboxes:read"
      ],
      "human_steps": [
        "A person signs in to Google and grants consent; the agent never receives credentials or bypasses MFA."
      ],
      "steps": [
        {
          "method": "GET",
          "path": "/api/v2/agent/email-accounts",
          "done_when": "the mailbox appears"
        },
        {
          "method": "GET",
          "path": "/api/v2/agent/mailboxes/health/summary",
          "done_when": "readiness is returned"
        }
      ],
      "done_when": "An owner-connected mailbox reports its real health state."
    },
    {
      "id": "build_lead_list",
      "title": "Build a lead list",
      "goal": "Read, create, or import workspace leads without inventing fields.",
      "required_scopes": [
        "leads:read",
        "leads:write"
      ],
      "human_steps": [],
      "steps": [
        {
          "method": "GET",
          "path": "/api/v2/agent/prospects",
          "done_when": "current leads are known"
        },
        {
          "method": "POST",
          "path": "/api/v2/agent/prospects",
          "done_when": "the returned lead can be read back"
        }
      ],
      "done_when": "Every saved lead has a returned identifier and source-backed fields."
    },
    {
      "id": "create_campaign_draft",
      "title": "Create a campaign draft",
      "goal": "Create and inspect an unlaunched campaign.",
      "required_scopes": [
        "campaigns:read",
        "campaigns:write"
      ],
      "human_steps": [],
      "steps": [
        {
          "method": "GET",
          "path": "/api/v2/agent/campaigns",
          "done_when": "duplicates are ruled out"
        },
        {
          "method": "POST",
          "path": "/api/v2/agent/campaigns",
          "done_when": "a campaign id is returned"
        },
        {
          "method": "GET",
          "path": "/api/v2/agent/campaigns/{campaign_id}",
          "done_when": "the draft reads back unchanged"
        }
      ],
      "done_when": "The campaign exists in draft state and has not launched."
    },
    {
      "id": "build_sequence",
      "title": "Build a sequence",
      "goal": "Create the ordered steps used by a campaign.",
      "required_scopes": [
        "sequences:read",
        "sequences:write"
      ],
      "human_steps": [],
      "steps": [
        {
          "method": "POST",
          "path": "/api/v2/agent/sequences",
          "done_when": "a sequence id is returned"
        },
        {
          "method": "POST",
          "path": "/api/v2/agent/sequences/{sequence_id}/steps",
          "done_when": "each step is saved"
        },
        {
          "method": "GET",
          "path": "/api/v2/agent/sequences/{sequence_id}",
          "done_when": "the order and content read back"
        }
      ],
      "done_when": "The complete ordered sequence reads back from the API."
    },
    {
      "id": "check_campaign_readiness",
      "title": "Check campaign readiness",
      "goal": "Find blockers before requesting launch approval.",
      "required_scopes": [
        "campaigns:read",
        "mailboxes:read"
      ],
      "human_steps": [],
      "steps": [
        {
          "method": "GET",
          "path": "/api/v2/agent/campaigns/{campaign_id}/launch-readiness",
          "done_when": "all blockers are explicit"
        },
        {
          "method": "GET",
          "path": "/api/v2/agent/email-accounts/inventory",
          "done_when": "sender capacity is explicit"
        }
      ],
      "done_when": "Readiness is ready or every blocker has an owning recovery step."
    },
    {
      "id": "request_launch_approval",
      "title": "Request launch approval",
      "goal": "Create an immutable preview for human review.",
      "required_scopes": [
        "automations:execute"
      ],
      "human_steps": [
        "An owner or administrator reviews the preview in the console."
      ],
      "steps": [
        {
          "method": "POST",
          "path": "/api/v2/agent/operations/preview",
          "done_when": "an immutable operation id and fingerprint are returned"
        },
        {
          "method": "GET",
          "path": "/api/v2/agent/operations/{operation_id}",
          "done_when": "the operation is awaiting human approval"
        }
      ],
      "done_when": "The exact preview is visible in the human approval queue."
    },
    {
      "id": "launch_approved_campaign",
      "title": "Execute approved launch",
      "goal": "Execute only the unchanged operation approved by a person.",
      "required_scopes": [
        "automations:execute",
        "receipts:read"
      ],
      "human_steps": [
        "A person approves the immutable preview in the console before execution."
      ],
      "steps": [
        {
          "method": "POST",
          "path": "/api/v2/agent/operations/{operation_id}/execute",
          "done_when": "execution is accepted with the same approval and fingerprint"
        },
        {
          "method": "GET",
          "path": "/api/v2/agent/operations/{operation_id}/receipt",
          "done_when": "a durable terminal receipt is returned"
        }
      ],
      "done_when": "A receipt, not HTTP status alone, records the terminal result."
    },
    {
      "id": "review_replies",
      "title": "Review replies",
      "goal": "Triage recorded inbox conversations without sending mail.",
      "required_scopes": [
        "replies:read"
      ],
      "human_steps": [],
      "steps": [
        {
          "method": "GET",
          "path": "/api/v2/agent/inbox",
          "done_when": "current replies are returned"
        },
        {
          "method": "GET",
          "path": "/api/v2/agent/inbox/{inbox_id}/thread",
          "done_when": "the full recorded thread is available"
        }
      ],
      "done_when": "Every classification is grounded in returned message content and status."
    },
    {
      "id": "manage_suppression",
      "title": "Manage suppression",
      "goal": "Read or add do-not-contact records before outreach.",
      "required_scopes": [
        "dnc:read",
        "dnc:write"
      ],
      "human_steps": [],
      "steps": [
        {
          "method": "GET",
          "path": "/api/v2/agent/dnc",
          "done_when": "current suppression is known"
        },
        {
          "method": "POST",
          "path": "/api/v2/agent/dnc",
          "done_when": "the record is confirmed"
        }
      ],
      "done_when": "The target is confirmed suppressed before any later send decision."
    },
    {
      "id": "inspect_receipts",
      "title": "Inspect receipts",
      "goal": "Use durable evidence to determine what actually happened.",
      "required_scopes": [
        "receipts:read"
      ],
      "human_steps": [],
      "steps": [
        {
          "method": "GET",
          "path": "/api/v2/agent/operations",
          "done_when": "the operation is located"
        },
        {
          "method": "GET",
          "path": "/api/v2/agent/operations/{operation_id}/events",
          "done_when": "ordered events are returned"
        },
        {
          "method": "GET",
          "path": "/api/v2/agent/operations/{operation_id}/receipt",
          "done_when": "the terminal receipt is returned"
        }
      ],
      "done_when": "The result is supported by a durable receipt and ordered events."
    },
    {
      "id": "stop_or_archive_campaign",
      "title": "Stop or archive a campaign",
      "goal": "Pause or cancel future work without guessing current state.",
      "required_scopes": [
        "campaigns:read",
        "campaigns:launch"
      ],
      "human_steps": [
        "A person confirms cancellation when the operation policy requires it."
      ],
      "steps": [
        {
          "method": "GET",
          "path": "/api/v2/agent/campaigns/{campaign_id}",
          "done_when": "current state is known"
        },
        {
          "method": "POST",
          "path": "/api/v2/agent/campaigns/{campaign_id}/pause",
          "done_when": "the returned state is paused"
        }
      ],
      "done_when": "The campaign reads back in the requested non-sending state."
    },
    {
      "id": "prepare_and_launch_campaign",
      "version": "1",
      "title": "Prepare and launch a campaign",
      "goal": "Create real campaign assets, hold launch for a person, then return the real receipt.",
      "required_scopes": [
        "campaigns:read",
        "campaigns:write",
        "campaigns:launch",
        "sequences:write",
        "mailboxes:read",
        "receipts:read"
      ],
      "execution_mode": "guided",
      "prerequisites": [
        "The workspace has active write access.",
        "Every sender mailbox is connected, approved, healthy, and has remaining capacity.",
        "A person has recorded truthful campaign compliance evidence; an agent must never fabricate it.",
        "Recipients and message copy are real, authorized, and ready for human review."
      ],
      "human_steps": [
        "A person resolves mailbox or campaign-compliance evidence blockers.",
        "An owner or administrator must approve the immutable launch preview."
      ],
      "steps": [
        {
          "id": "create_campaign",
          "title": "Create the campaign draft",
          "owner": "synthcrew",
          "effect": "workspace_write"
        },
        {
          "id": "create_prospects",
          "title": "Create campaign prospects",
          "owner": "synthcrew",
          "effect": "workspace_write"
        },
        {
          "id": "create_sequence",
          "title": "Create the sequence",
          "owner": "synthcrew",
          "effect": "workspace_write"
        },
        {
          "id": "check_readiness",
          "title": "Check launch readiness",
          "owner": "synthcrew",
          "effect": "read_only"
        },
        {
          "id": "request_approval",
          "title": "Create immutable launch preview",
          "owner": "synthcrew",
          "effect": "workspace_write"
        },
        {
          "id": "execute_launch",
          "title": "Execute the approved launch",
          "owner": "human_then_synthcrew",
          "effect": "provider_call"
        },
        {
          "id": "verify_receipt",
          "title": "Verify the durable result",
          "owner": "synthcrew",
          "effect": "read_only"
        }
      ],
      "done_when": "The persisted campaign is live and the approved launch receipt is terminal.",
      "definition_hash": "48a3e4e3783d4c82944618ffce1bc8b56b27dbc3472b962c13c8c49174535ecf",
      "input_schema": {
        "$defs": {
          "WorkflowProspectIn": {
            "additionalProperties": false,
            "properties": {
              "name": {
                "maxLength": 255,
                "minLength": 1,
                "title": "Name",
                "type": "string"
              },
              "company": {
                "maxLength": 255,
                "minLength": 1,
                "title": "Company",
                "type": "string"
              },
              "domain": {
                "anyOf": [
                  {
                    "maxLength": 255,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Domain"
              },
              "email": {
                "maxLength": 320,
                "minLength": 3,
                "title": "Email",
                "type": "string"
              }
            },
            "required": [
              "name",
              "company",
              "email"
            ],
            "title": "WorkflowProspectIn",
            "type": "object"
          },
          "WorkflowSequenceStepIn": {
            "additionalProperties": false,
            "properties": {
              "step_number": {
                "maximum": 20,
                "minimum": 1,
                "title": "Step Number",
                "type": "integer"
              },
              "delay_days": {
                "default": 3,
                "maximum": 365,
                "minimum": 0,
                "title": "Delay Days",
                "type": "integer"
              },
              "subject_template": {
                "maxLength": 998,
                "minLength": 1,
                "title": "Subject Template",
                "type": "string"
              },
              "body_template": {
                "maxLength": 100000,
                "minLength": 1,
                "title": "Body Template",
                "type": "string"
              }
            },
            "required": [
              "step_number",
              "subject_template",
              "body_template"
            ],
            "title": "WorkflowSequenceStepIn",
            "type": "object"
          }
        },
        "additionalProperties": false,
        "properties": {
          "campaign_name": {
            "maxLength": 255,
            "minLength": 1,
            "title": "Campaign Name",
            "type": "string"
          },
          "physical_address": {
            "maxLength": 512,
            "minLength": 5,
            "title": "Physical Address",
            "type": "string"
          },
          "unsubscribe_url": {
            "maxLength": 512,
            "minLength": 8,
            "title": "Unsubscribe Url",
            "type": "string"
          },
          "icp_description": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Icp Description"
          },
          "sender_account_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 25,
            "minItems": 1,
            "title": "Sender Account Ids",
            "type": "array"
          },
          "prospects": {
            "items": {
              "$ref": "#/$defs/WorkflowProspectIn"
            },
            "maxItems": 100,
            "minItems": 1,
            "title": "Prospects",
            "type": "array"
          },
          "sequence_name": {
            "maxLength": 255,
            "minLength": 1,
            "title": "Sequence Name",
            "type": "string"
          },
          "sequence_steps": {
            "items": {
              "$ref": "#/$defs/WorkflowSequenceStepIn"
            },
            "maxItems": 20,
            "minItems": 1,
            "title": "Sequence Steps",
            "type": "array"
          }
        },
        "required": [
          "campaign_name",
          "physical_address",
          "unsubscribe_url",
          "sender_account_ids",
          "prospects",
          "sequence_name",
          "sequence_steps"
        ],
        "title": "CampaignWorkflowInput",
        "type": "object"
      },
      "start_schema": {
        "$defs": {
          "CampaignWorkflowInput": {
            "additionalProperties": false,
            "properties": {
              "campaign_name": {
                "maxLength": 255,
                "minLength": 1,
                "title": "Campaign Name",
                "type": "string"
              },
              "physical_address": {
                "maxLength": 512,
                "minLength": 5,
                "title": "Physical Address",
                "type": "string"
              },
              "unsubscribe_url": {
                "maxLength": 512,
                "minLength": 8,
                "title": "Unsubscribe Url",
                "type": "string"
              },
              "icp_description": {
                "anyOf": [
                  {
                    "maxLength": 4000,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Icp Description"
              },
              "sender_account_ids": {
                "items": {
                  "format": "uuid",
                  "type": "string"
                },
                "maxItems": 25,
                "minItems": 1,
                "title": "Sender Account Ids",
                "type": "array"
              },
              "prospects": {
                "items": {
                  "$ref": "#/$defs/WorkflowProspectIn"
                },
                "maxItems": 100,
                "minItems": 1,
                "title": "Prospects",
                "type": "array"
              },
              "sequence_name": {
                "maxLength": 255,
                "minLength": 1,
                "title": "Sequence Name",
                "type": "string"
              },
              "sequence_steps": {
                "items": {
                  "$ref": "#/$defs/WorkflowSequenceStepIn"
                },
                "maxItems": 20,
                "minItems": 1,
                "title": "Sequence Steps",
                "type": "array"
              }
            },
            "required": [
              "campaign_name",
              "physical_address",
              "unsubscribe_url",
              "sender_account_ids",
              "prospects",
              "sequence_name",
              "sequence_steps"
            ],
            "title": "CampaignWorkflowInput",
            "type": "object"
          },
          "InboundReplyWorkflowInput": {
            "additionalProperties": false,
            "properties": {
              "inbox_id": {
                "format": "uuid",
                "title": "Inbox Id",
                "type": "string"
              },
              "classification": {
                "enum": [
                  "interested",
                  "question",
                  "referral",
                  "not_interested",
                  "out_of_office",
                  "unsubscribe",
                  "bounce",
                  "other",
                  "unknown"
                ],
                "title": "Classification",
                "type": "string"
              },
              "confidence": {
                "maximum": 1,
                "minimum": 0,
                "title": "Confidence",
                "type": "number"
              },
              "summary": {
                "maxLength": 4000,
                "minLength": 1,
                "title": "Summary",
                "type": "string"
              },
              "recommended_action": {
                "maxLength": 64,
                "minLength": 1,
                "title": "Recommended Action",
                "type": "string"
              },
              "evidence_message_ids": {
                "items": {
                  "type": "string"
                },
                "maxItems": 100,
                "minItems": 1,
                "title": "Evidence Message Ids",
                "type": "array"
              },
              "draft_subject": {
                "anyOf": [
                  {
                    "maxLength": 998,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Draft Subject"
              },
              "draft_body": {
                "anyOf": [
                  {
                    "maxLength": 16384,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Draft Body"
              }
            },
            "required": [
              "inbox_id",
              "classification",
              "confidence",
              "summary",
              "recommended_action",
              "evidence_message_ids"
            ],
            "title": "InboundReplyWorkflowInput",
            "type": "object"
          },
          "WorkflowProspectIn": {
            "additionalProperties": false,
            "properties": {
              "name": {
                "maxLength": 255,
                "minLength": 1,
                "title": "Name",
                "type": "string"
              },
              "company": {
                "maxLength": 255,
                "minLength": 1,
                "title": "Company",
                "type": "string"
              },
              "domain": {
                "anyOf": [
                  {
                    "maxLength": 255,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Domain"
              },
              "email": {
                "maxLength": 320,
                "minLength": 3,
                "title": "Email",
                "type": "string"
              }
            },
            "required": [
              "name",
              "company",
              "email"
            ],
            "title": "WorkflowProspectIn",
            "type": "object"
          },
          "WorkflowSequenceStepIn": {
            "additionalProperties": false,
            "properties": {
              "step_number": {
                "maximum": 20,
                "minimum": 1,
                "title": "Step Number",
                "type": "integer"
              },
              "delay_days": {
                "default": 3,
                "maximum": 365,
                "minimum": 0,
                "title": "Delay Days",
                "type": "integer"
              },
              "subject_template": {
                "maxLength": 998,
                "minLength": 1,
                "title": "Subject Template",
                "type": "string"
              },
              "body_template": {
                "maxLength": 100000,
                "minLength": 1,
                "title": "Body Template",
                "type": "string"
              }
            },
            "required": [
              "step_number",
              "subject_template",
              "body_template"
            ],
            "title": "WorkflowSequenceStepIn",
            "type": "object"
          }
        },
        "additionalProperties": false,
        "properties": {
          "workflow_id": {
            "enum": [
              "prepare_and_launch_campaign",
              "handle_inbound_reply"
            ],
            "title": "Workflow Id",
            "type": "string"
          },
          "input": {
            "anyOf": [
              {
                "$ref": "#/$defs/CampaignWorkflowInput"
              },
              {
                "$ref": "#/$defs/InboundReplyWorkflowInput"
              }
            ],
            "title": "Input"
          }
        },
        "required": [
          "workflow_id",
          "input"
        ],
        "title": "WorkflowRunCreateIn",
        "type": "object"
      },
      "advance_schema": {
        "additionalProperties": false,
        "properties": {
          "expected_step_id": {
            "maxLength": 64,
            "minLength": 1,
            "title": "Expected Step Id",
            "type": "string"
          }
        },
        "required": [
          "expected_step_id"
        ],
        "title": "WorkflowAdvanceIn",
        "type": "object"
      },
      "mutation_headers": {
        "Idempotency-Key": "Stable identifier for one exact mutation; reuse it on retry.",
        "X-Agent-Run-Id": "Stable caller run identifier used for correlation."
      },
      "states": {
        "ready": "The caller may queue current_step.",
        "queued": "The durable worker accepted the step; inspect instead of resubmitting.",
        "running": "The worker is executing the persisted step.",
        "blocked": "Read error.next_action, fix the condition, then retry the same run.",
        "waiting_for_human": "A signed-in owner or admin must decide the immutable launch preview.",
        "succeeded": "The campaign launch and terminal receipt were verified.",
        "cancelled": "No unfinished step will run."
      },
      "retry_rule": "Retry an exact request with the same Idempotency-Key. Use a new key only after the run reports a retryable blocked step.",
      "approval_rule": "The agent cannot approve. After operation_id appears, an owner/admin decides it in the console; the agent then advances execute_launch.",
      "completion_rule": "Completion requires status=succeeded and a terminal operation receipt; HTTP 201/202 alone is not completion.",
      "run_api": {
        "start": "/api/v2/agent/workflow-runs",
        "advance": "/api/v2/agent/workflow-runs/{run_id}/advance",
        "inspect": "/api/v2/agent/workflow-runs/{run_id}",
        "events": "/api/v2/agent/workflow-runs/{run_id}/events",
        "cancel": "/api/v2/agent/workflow-runs/{run_id}/cancel"
      },
      "operations": [
        {
          "id": "start_workflow",
          "method": "POST",
          "path": "/api/v2/agent/workflow-runs",
          "mutation_headers_required": true,
          "body_schema": "start_schema",
          "success": "A persisted run in ready state; no campaign resource exists yet."
        },
        {
          "id": "list_workflows",
          "method": "GET",
          "path": "/api/v2/agent/workflow-runs",
          "mutation_headers_required": false,
          "success": "Only runs owned by this workspace key."
        },
        {
          "id": "inspect_workflow",
          "method": "GET",
          "path": "/api/v2/agent/workflow-runs/{run_id}",
          "mutation_headers_required": false,
          "success": "Persisted state, steps, resources, error, and exact next actions."
        },
        {
          "id": "advance_workflow",
          "method": "POST",
          "path": "/api/v2/agent/workflow-runs/{run_id}/advance",
          "mutation_headers_required": true,
          "body_schema": "advance_schema",
          "success": "The exact current step is queued; inspect until it leaves queued/running."
        },
        {
          "id": "workflow_events",
          "method": "GET",
          "path": "/api/v2/agent/workflow-runs/{run_id}/events",
          "mutation_headers_required": false,
          "success": "Ordered durable events after after_sequence."
        },
        {
          "id": "cancel_workflow",
          "method": "POST",
          "path": "/api/v2/agent/workflow-runs/{run_id}/cancel",
          "mutation_headers_required": true,
          "success": "Unfinished steps and a pending preview are cancelled."
        }
      ]
    },
    {
      "id": "handle_inbound_reply",
      "version": "1",
      "title": "Handle an inbound reply",
      "goal": "Ground a reply decision in persisted messages, apply safety policy, and prepare a human-reviewed response.",
      "required_scopes": [
        "replies:read",
        "replies:write",
        "drafts:read",
        "drafts:write",
        "receipts:read"
      ],
      "execution_mode": "guided",
      "prerequisites": [
        "The mailbox thread is already persisted.",
        "Classification evidence names real returned messages.",
        "Only a signed-in person can approve or send a reply."
      ],
      "human_steps": [
        "A person reviews, edits, approves or rejects any response draft."
      ],
      "steps": [
        {
          "id": "validate_thread",
          "title": "Validate the persisted thread snapshot",
          "owner": "synthcrew",
          "effect": "read_only"
        },
        {
          "id": "record_triage",
          "title": "Record the grounded triage decision",
          "owner": "synthcrew",
          "effect": "workspace_write"
        },
        {
          "id": "apply_disposition",
          "title": "Apply suppression, close, snooze, or reply policy",
          "owner": "synthcrew",
          "effect": "workspace_write"
        },
        {
          "id": "create_reply_preview",
          "title": "Create the immutable reply draft",
          "owner": "synthcrew",
          "effect": "workspace_write"
        },
        {
          "id": "wait_for_human",
          "title": "Wait for a human decision and delivery",
          "owner": "human",
          "effect": "provider_call"
        },
        {
          "id": "verify_reply_outcome",
          "title": "Verify the durable result",
          "owner": "synthcrew",
          "effect": "read_only"
        }
      ],
      "done_when": "The conversation is safely resolved or an approved threaded reply has a durable provider result.",
      "definition_hash": "5cbd96868388eb794a694170a29c2eaf1dc799d299cf66d52ed74dc4abda1dc3",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "inbox_id": {
            "format": "uuid",
            "title": "Inbox Id",
            "type": "string"
          },
          "classification": {
            "enum": [
              "interested",
              "question",
              "referral",
              "not_interested",
              "out_of_office",
              "unsubscribe",
              "bounce",
              "other",
              "unknown"
            ],
            "title": "Classification",
            "type": "string"
          },
          "confidence": {
            "maximum": 1,
            "minimum": 0,
            "title": "Confidence",
            "type": "number"
          },
          "summary": {
            "maxLength": 4000,
            "minLength": 1,
            "title": "Summary",
            "type": "string"
          },
          "recommended_action": {
            "maxLength": 64,
            "minLength": 1,
            "title": "Recommended Action",
            "type": "string"
          },
          "evidence_message_ids": {
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "minItems": 1,
            "title": "Evidence Message Ids",
            "type": "array"
          },
          "draft_subject": {
            "anyOf": [
              {
                "maxLength": 998,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Draft Subject"
          },
          "draft_body": {
            "anyOf": [
              {
                "maxLength": 16384,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Draft Body"
          }
        },
        "required": [
          "inbox_id",
          "classification",
          "confidence",
          "summary",
          "recommended_action",
          "evidence_message_ids"
        ],
        "title": "InboundReplyWorkflowInput",
        "type": "object"
      },
      "start_schema": {
        "$defs": {
          "CampaignWorkflowInput": {
            "additionalProperties": false,
            "properties": {
              "campaign_name": {
                "maxLength": 255,
                "minLength": 1,
                "title": "Campaign Name",
                "type": "string"
              },
              "physical_address": {
                "maxLength": 512,
                "minLength": 5,
                "title": "Physical Address",
                "type": "string"
              },
              "unsubscribe_url": {
                "maxLength": 512,
                "minLength": 8,
                "title": "Unsubscribe Url",
                "type": "string"
              },
              "icp_description": {
                "anyOf": [
                  {
                    "maxLength": 4000,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Icp Description"
              },
              "sender_account_ids": {
                "items": {
                  "format": "uuid",
                  "type": "string"
                },
                "maxItems": 25,
                "minItems": 1,
                "title": "Sender Account Ids",
                "type": "array"
              },
              "prospects": {
                "items": {
                  "$ref": "#/$defs/WorkflowProspectIn"
                },
                "maxItems": 100,
                "minItems": 1,
                "title": "Prospects",
                "type": "array"
              },
              "sequence_name": {
                "maxLength": 255,
                "minLength": 1,
                "title": "Sequence Name",
                "type": "string"
              },
              "sequence_steps": {
                "items": {
                  "$ref": "#/$defs/WorkflowSequenceStepIn"
                },
                "maxItems": 20,
                "minItems": 1,
                "title": "Sequence Steps",
                "type": "array"
              }
            },
            "required": [
              "campaign_name",
              "physical_address",
              "unsubscribe_url",
              "sender_account_ids",
              "prospects",
              "sequence_name",
              "sequence_steps"
            ],
            "title": "CampaignWorkflowInput",
            "type": "object"
          },
          "InboundReplyWorkflowInput": {
            "additionalProperties": false,
            "properties": {
              "inbox_id": {
                "format": "uuid",
                "title": "Inbox Id",
                "type": "string"
              },
              "classification": {
                "enum": [
                  "interested",
                  "question",
                  "referral",
                  "not_interested",
                  "out_of_office",
                  "unsubscribe",
                  "bounce",
                  "other",
                  "unknown"
                ],
                "title": "Classification",
                "type": "string"
              },
              "confidence": {
                "maximum": 1,
                "minimum": 0,
                "title": "Confidence",
                "type": "number"
              },
              "summary": {
                "maxLength": 4000,
                "minLength": 1,
                "title": "Summary",
                "type": "string"
              },
              "recommended_action": {
                "maxLength": 64,
                "minLength": 1,
                "title": "Recommended Action",
                "type": "string"
              },
              "evidence_message_ids": {
                "items": {
                  "type": "string"
                },
                "maxItems": 100,
                "minItems": 1,
                "title": "Evidence Message Ids",
                "type": "array"
              },
              "draft_subject": {
                "anyOf": [
                  {
                    "maxLength": 998,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Draft Subject"
              },
              "draft_body": {
                "anyOf": [
                  {
                    "maxLength": 16384,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Draft Body"
              }
            },
            "required": [
              "inbox_id",
              "classification",
              "confidence",
              "summary",
              "recommended_action",
              "evidence_message_ids"
            ],
            "title": "InboundReplyWorkflowInput",
            "type": "object"
          },
          "WorkflowProspectIn": {
            "additionalProperties": false,
            "properties": {
              "name": {
                "maxLength": 255,
                "minLength": 1,
                "title": "Name",
                "type": "string"
              },
              "company": {
                "maxLength": 255,
                "minLength": 1,
                "title": "Company",
                "type": "string"
              },
              "domain": {
                "anyOf": [
                  {
                    "maxLength": 255,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Domain"
              },
              "email": {
                "maxLength": 320,
                "minLength": 3,
                "title": "Email",
                "type": "string"
              }
            },
            "required": [
              "name",
              "company",
              "email"
            ],
            "title": "WorkflowProspectIn",
            "type": "object"
          },
          "WorkflowSequenceStepIn": {
            "additionalProperties": false,
            "properties": {
              "step_number": {
                "maximum": 20,
                "minimum": 1,
                "title": "Step Number",
                "type": "integer"
              },
              "delay_days": {
                "default": 3,
                "maximum": 365,
                "minimum": 0,
                "title": "Delay Days",
                "type": "integer"
              },
              "subject_template": {
                "maxLength": 998,
                "minLength": 1,
                "title": "Subject Template",
                "type": "string"
              },
              "body_template": {
                "maxLength": 100000,
                "minLength": 1,
                "title": "Body Template",
                "type": "string"
              }
            },
            "required": [
              "step_number",
              "subject_template",
              "body_template"
            ],
            "title": "WorkflowSequenceStepIn",
            "type": "object"
          }
        },
        "additionalProperties": false,
        "properties": {
          "workflow_id": {
            "enum": [
              "prepare_and_launch_campaign",
              "handle_inbound_reply"
            ],
            "title": "Workflow Id",
            "type": "string"
          },
          "input": {
            "anyOf": [
              {
                "$ref": "#/$defs/CampaignWorkflowInput"
              },
              {
                "$ref": "#/$defs/InboundReplyWorkflowInput"
              }
            ],
            "title": "Input"
          }
        },
        "required": [
          "workflow_id",
          "input"
        ],
        "title": "WorkflowRunCreateIn",
        "type": "object"
      },
      "advance_schema": {
        "additionalProperties": false,
        "properties": {
          "expected_step_id": {
            "maxLength": 64,
            "minLength": 1,
            "title": "Expected Step Id",
            "type": "string"
          }
        },
        "required": [
          "expected_step_id"
        ],
        "title": "WorkflowAdvanceIn",
        "type": "object"
      },
      "mutation_headers": {
        "Idempotency-Key": "Stable identifier for one exact mutation; reuse it on retry.",
        "X-Agent-Run-Id": "Stable caller run identifier used for correlation."
      },
      "states": {
        "ready": "The caller may queue current_step.",
        "queued": "The durable worker accepted the step; inspect instead of resubmitting.",
        "running": "The worker is executing the persisted step.",
        "blocked": "Read error.next_action, fix the condition, then retry the same run.",
        "waiting_for_human": "A signed-in owner or admin must review the reply draft and explicitly send or reject it.",
        "succeeded": "The inbound conversation has a durable safe disposition or verified threaded reply result.",
        "cancelled": "No unfinished step will run."
      },
      "retry_rule": "Retry an exact request with the same Idempotency-Key. Use a new key only after the run reports a retryable blocked step.",
      "approval_rule": "The agent cannot approve or send. A signed-in owner/admin reviews the reply draft, and any edit invalidates approval.",
      "completion_rule": "Completion requires status=succeeded and either a persisted safe disposition or a durable sent reply result.",
      "run_api": {
        "start": "/api/v2/agent/workflow-runs",
        "advance": "/api/v2/agent/workflow-runs/{run_id}/advance",
        "inspect": "/api/v2/agent/workflow-runs/{run_id}",
        "events": "/api/v2/agent/workflow-runs/{run_id}/events",
        "cancel": "/api/v2/agent/workflow-runs/{run_id}/cancel"
      },
      "operations": [
        {
          "id": "start_workflow",
          "method": "POST",
          "path": "/api/v2/agent/workflow-runs",
          "mutation_headers_required": true,
          "body_schema": "start_schema",
          "success": "A persisted inbound run in ready state; no reply is sent."
        },
        {
          "id": "list_workflows",
          "method": "GET",
          "path": "/api/v2/agent/workflow-runs",
          "mutation_headers_required": false,
          "success": "Only runs owned by this workspace key."
        },
        {
          "id": "inspect_workflow",
          "method": "GET",
          "path": "/api/v2/agent/workflow-runs/{run_id}",
          "mutation_headers_required": false,
          "success": "Persisted state, steps, resources, error, and exact next actions."
        },
        {
          "id": "advance_workflow",
          "method": "POST",
          "path": "/api/v2/agent/workflow-runs/{run_id}/advance",
          "mutation_headers_required": true,
          "body_schema": "advance_schema",
          "success": "The exact current step is queued; inspect until it leaves queued/running."
        },
        {
          "id": "workflow_events",
          "method": "GET",
          "path": "/api/v2/agent/workflow-runs/{run_id}/events",
          "mutation_headers_required": false,
          "success": "Ordered durable events after after_sequence."
        },
        {
          "id": "cancel_workflow",
          "method": "POST",
          "path": "/api/v2/agent/workflow-runs/{run_id}/cancel",
          "mutation_headers_required": true,
          "success": "Unfinished steps and a pending preview are cancelled."
        }
      ]
    }
  ],
  "workflow_runtime": {
    "id": "prepare_and_launch_campaign",
    "version": "1",
    "title": "Prepare and launch a campaign",
    "goal": "Create real campaign assets, hold launch for a person, then return the real receipt.",
    "required_scopes": [
      "campaigns:read",
      "campaigns:write",
      "campaigns:launch",
      "sequences:write",
      "mailboxes:read",
      "receipts:read"
    ],
    "execution_mode": "guided",
    "prerequisites": [
      "The workspace has active write access.",
      "Every sender mailbox is connected, approved, healthy, and has remaining capacity.",
      "A person has recorded truthful campaign compliance evidence; an agent must never fabricate it.",
      "Recipients and message copy are real, authorized, and ready for human review."
    ],
    "human_steps": [
      "A person resolves mailbox or campaign-compliance evidence blockers.",
      "An owner or administrator must approve the immutable launch preview."
    ],
    "steps": [
      {
        "id": "create_campaign",
        "title": "Create the campaign draft",
        "owner": "synthcrew",
        "effect": "workspace_write"
      },
      {
        "id": "create_prospects",
        "title": "Create campaign prospects",
        "owner": "synthcrew",
        "effect": "workspace_write"
      },
      {
        "id": "create_sequence",
        "title": "Create the sequence",
        "owner": "synthcrew",
        "effect": "workspace_write"
      },
      {
        "id": "check_readiness",
        "title": "Check launch readiness",
        "owner": "synthcrew",
        "effect": "read_only"
      },
      {
        "id": "request_approval",
        "title": "Create immutable launch preview",
        "owner": "synthcrew",
        "effect": "workspace_write"
      },
      {
        "id": "execute_launch",
        "title": "Execute the approved launch",
        "owner": "human_then_synthcrew",
        "effect": "provider_call"
      },
      {
        "id": "verify_receipt",
        "title": "Verify the durable result",
        "owner": "synthcrew",
        "effect": "read_only"
      }
    ],
    "done_when": "The persisted campaign is live and the approved launch receipt is terminal.",
    "definition_hash": "48a3e4e3783d4c82944618ffce1bc8b56b27dbc3472b962c13c8c49174535ecf",
    "input_schema": {
      "$defs": {
        "WorkflowProspectIn": {
          "additionalProperties": false,
          "properties": {
            "name": {
              "maxLength": 255,
              "minLength": 1,
              "title": "Name",
              "type": "string"
            },
            "company": {
              "maxLength": 255,
              "minLength": 1,
              "title": "Company",
              "type": "string"
            },
            "domain": {
              "anyOf": [
                {
                  "maxLength": 255,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Domain"
            },
            "email": {
              "maxLength": 320,
              "minLength": 3,
              "title": "Email",
              "type": "string"
            }
          },
          "required": [
            "name",
            "company",
            "email"
          ],
          "title": "WorkflowProspectIn",
          "type": "object"
        },
        "WorkflowSequenceStepIn": {
          "additionalProperties": false,
          "properties": {
            "step_number": {
              "maximum": 20,
              "minimum": 1,
              "title": "Step Number",
              "type": "integer"
            },
            "delay_days": {
              "default": 3,
              "maximum": 365,
              "minimum": 0,
              "title": "Delay Days",
              "type": "integer"
            },
            "subject_template": {
              "maxLength": 998,
              "minLength": 1,
              "title": "Subject Template",
              "type": "string"
            },
            "body_template": {
              "maxLength": 100000,
              "minLength": 1,
              "title": "Body Template",
              "type": "string"
            }
          },
          "required": [
            "step_number",
            "subject_template",
            "body_template"
          ],
          "title": "WorkflowSequenceStepIn",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "campaign_name": {
          "maxLength": 255,
          "minLength": 1,
          "title": "Campaign Name",
          "type": "string"
        },
        "physical_address": {
          "maxLength": 512,
          "minLength": 5,
          "title": "Physical Address",
          "type": "string"
        },
        "unsubscribe_url": {
          "maxLength": 512,
          "minLength": 8,
          "title": "Unsubscribe Url",
          "type": "string"
        },
        "icp_description": {
          "anyOf": [
            {
              "maxLength": 4000,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Icp Description"
        },
        "sender_account_ids": {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "maxItems": 25,
          "minItems": 1,
          "title": "Sender Account Ids",
          "type": "array"
        },
        "prospects": {
          "items": {
            "$ref": "#/$defs/WorkflowProspectIn"
          },
          "maxItems": 100,
          "minItems": 1,
          "title": "Prospects",
          "type": "array"
        },
        "sequence_name": {
          "maxLength": 255,
          "minLength": 1,
          "title": "Sequence Name",
          "type": "string"
        },
        "sequence_steps": {
          "items": {
            "$ref": "#/$defs/WorkflowSequenceStepIn"
          },
          "maxItems": 20,
          "minItems": 1,
          "title": "Sequence Steps",
          "type": "array"
        }
      },
      "required": [
        "campaign_name",
        "physical_address",
        "unsubscribe_url",
        "sender_account_ids",
        "prospects",
        "sequence_name",
        "sequence_steps"
      ],
      "title": "CampaignWorkflowInput",
      "type": "object"
    },
    "start_schema": {
      "$defs": {
        "CampaignWorkflowInput": {
          "additionalProperties": false,
          "properties": {
            "campaign_name": {
              "maxLength": 255,
              "minLength": 1,
              "title": "Campaign Name",
              "type": "string"
            },
            "physical_address": {
              "maxLength": 512,
              "minLength": 5,
              "title": "Physical Address",
              "type": "string"
            },
            "unsubscribe_url": {
              "maxLength": 512,
              "minLength": 8,
              "title": "Unsubscribe Url",
              "type": "string"
            },
            "icp_description": {
              "anyOf": [
                {
                  "maxLength": 4000,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Icp Description"
            },
            "sender_account_ids": {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "maxItems": 25,
              "minItems": 1,
              "title": "Sender Account Ids",
              "type": "array"
            },
            "prospects": {
              "items": {
                "$ref": "#/$defs/WorkflowProspectIn"
              },
              "maxItems": 100,
              "minItems": 1,
              "title": "Prospects",
              "type": "array"
            },
            "sequence_name": {
              "maxLength": 255,
              "minLength": 1,
              "title": "Sequence Name",
              "type": "string"
            },
            "sequence_steps": {
              "items": {
                "$ref": "#/$defs/WorkflowSequenceStepIn"
              },
              "maxItems": 20,
              "minItems": 1,
              "title": "Sequence Steps",
              "type": "array"
            }
          },
          "required": [
            "campaign_name",
            "physical_address",
            "unsubscribe_url",
            "sender_account_ids",
            "prospects",
            "sequence_name",
            "sequence_steps"
          ],
          "title": "CampaignWorkflowInput",
          "type": "object"
        },
        "InboundReplyWorkflowInput": {
          "additionalProperties": false,
          "properties": {
            "inbox_id": {
              "format": "uuid",
              "title": "Inbox Id",
              "type": "string"
            },
            "classification": {
              "enum": [
                "interested",
                "question",
                "referral",
                "not_interested",
                "out_of_office",
                "unsubscribe",
                "bounce",
                "other",
                "unknown"
              ],
              "title": "Classification",
              "type": "string"
            },
            "confidence": {
              "maximum": 1,
              "minimum": 0,
              "title": "Confidence",
              "type": "number"
            },
            "summary": {
              "maxLength": 4000,
              "minLength": 1,
              "title": "Summary",
              "type": "string"
            },
            "recommended_action": {
              "maxLength": 64,
              "minLength": 1,
              "title": "Recommended Action",
              "type": "string"
            },
            "evidence_message_ids": {
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "minItems": 1,
              "title": "Evidence Message Ids",
              "type": "array"
            },
            "draft_subject": {
              "anyOf": [
                {
                  "maxLength": 998,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Draft Subject"
            },
            "draft_body": {
              "anyOf": [
                {
                  "maxLength": 16384,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Draft Body"
            }
          },
          "required": [
            "inbox_id",
            "classification",
            "confidence",
            "summary",
            "recommended_action",
            "evidence_message_ids"
          ],
          "title": "InboundReplyWorkflowInput",
          "type": "object"
        },
        "WorkflowProspectIn": {
          "additionalProperties": false,
          "properties": {
            "name": {
              "maxLength": 255,
              "minLength": 1,
              "title": "Name",
              "type": "string"
            },
            "company": {
              "maxLength": 255,
              "minLength": 1,
              "title": "Company",
              "type": "string"
            },
            "domain": {
              "anyOf": [
                {
                  "maxLength": 255,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Domain"
            },
            "email": {
              "maxLength": 320,
              "minLength": 3,
              "title": "Email",
              "type": "string"
            }
          },
          "required": [
            "name",
            "company",
            "email"
          ],
          "title": "WorkflowProspectIn",
          "type": "object"
        },
        "WorkflowSequenceStepIn": {
          "additionalProperties": false,
          "properties": {
            "step_number": {
              "maximum": 20,
              "minimum": 1,
              "title": "Step Number",
              "type": "integer"
            },
            "delay_days": {
              "default": 3,
              "maximum": 365,
              "minimum": 0,
              "title": "Delay Days",
              "type": "integer"
            },
            "subject_template": {
              "maxLength": 998,
              "minLength": 1,
              "title": "Subject Template",
              "type": "string"
            },
            "body_template": {
              "maxLength": 100000,
              "minLength": 1,
              "title": "Body Template",
              "type": "string"
            }
          },
          "required": [
            "step_number",
            "subject_template",
            "body_template"
          ],
          "title": "WorkflowSequenceStepIn",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "workflow_id": {
          "enum": [
            "prepare_and_launch_campaign",
            "handle_inbound_reply"
          ],
          "title": "Workflow Id",
          "type": "string"
        },
        "input": {
          "anyOf": [
            {
              "$ref": "#/$defs/CampaignWorkflowInput"
            },
            {
              "$ref": "#/$defs/InboundReplyWorkflowInput"
            }
          ],
          "title": "Input"
        }
      },
      "required": [
        "workflow_id",
        "input"
      ],
      "title": "WorkflowRunCreateIn",
      "type": "object"
    },
    "advance_schema": {
      "additionalProperties": false,
      "properties": {
        "expected_step_id": {
          "maxLength": 64,
          "minLength": 1,
          "title": "Expected Step Id",
          "type": "string"
        }
      },
      "required": [
        "expected_step_id"
      ],
      "title": "WorkflowAdvanceIn",
      "type": "object"
    },
    "mutation_headers": {
      "Idempotency-Key": "Stable identifier for one exact mutation; reuse it on retry.",
      "X-Agent-Run-Id": "Stable caller run identifier used for correlation."
    },
    "states": {
      "ready": "The caller may queue current_step.",
      "queued": "The durable worker accepted the step; inspect instead of resubmitting.",
      "running": "The worker is executing the persisted step.",
      "blocked": "Read error.next_action, fix the condition, then retry the same run.",
      "waiting_for_human": "A signed-in owner or admin must decide the immutable launch preview.",
      "succeeded": "The campaign launch and terminal receipt were verified.",
      "cancelled": "No unfinished step will run."
    },
    "retry_rule": "Retry an exact request with the same Idempotency-Key. Use a new key only after the run reports a retryable blocked step.",
    "approval_rule": "The agent cannot approve. After operation_id appears, an owner/admin decides it in the console; the agent then advances execute_launch.",
    "completion_rule": "Completion requires status=succeeded and a terminal operation receipt; HTTP 201/202 alone is not completion.",
    "run_api": {
      "start": "/api/v2/agent/workflow-runs",
      "advance": "/api/v2/agent/workflow-runs/{run_id}/advance",
      "inspect": "/api/v2/agent/workflow-runs/{run_id}",
      "events": "/api/v2/agent/workflow-runs/{run_id}/events",
      "cancel": "/api/v2/agent/workflow-runs/{run_id}/cancel"
    },
    "operations": [
      {
        "id": "start_workflow",
        "method": "POST",
        "path": "/api/v2/agent/workflow-runs",
        "mutation_headers_required": true,
        "body_schema": "start_schema",
        "success": "A persisted run in ready state; no campaign resource exists yet."
      },
      {
        "id": "list_workflows",
        "method": "GET",
        "path": "/api/v2/agent/workflow-runs",
        "mutation_headers_required": false,
        "success": "Only runs owned by this workspace key."
      },
      {
        "id": "inspect_workflow",
        "method": "GET",
        "path": "/api/v2/agent/workflow-runs/{run_id}",
        "mutation_headers_required": false,
        "success": "Persisted state, steps, resources, error, and exact next actions."
      },
      {
        "id": "advance_workflow",
        "method": "POST",
        "path": "/api/v2/agent/workflow-runs/{run_id}/advance",
        "mutation_headers_required": true,
        "body_schema": "advance_schema",
        "success": "The exact current step is queued; inspect until it leaves queued/running."
      },
      {
        "id": "workflow_events",
        "method": "GET",
        "path": "/api/v2/agent/workflow-runs/{run_id}/events",
        "mutation_headers_required": false,
        "success": "Ordered durable events after after_sequence."
      },
      {
        "id": "cancel_workflow",
        "method": "POST",
        "path": "/api/v2/agent/workflow-runs/{run_id}/cancel",
        "mutation_headers_required": true,
        "success": "Unfinished steps and a pending preview are cancelled."
      }
    ],
    "workflows": [
      {
        "id": "prepare_and_launch_campaign",
        "version": "1",
        "title": "Prepare and launch a campaign",
        "goal": "Create real campaign assets, hold launch for a person, then return the real receipt.",
        "required_scopes": [
          "campaigns:read",
          "campaigns:write",
          "campaigns:launch",
          "sequences:write",
          "mailboxes:read",
          "receipts:read"
        ],
        "execution_mode": "guided",
        "prerequisites": [
          "The workspace has active write access.",
          "Every sender mailbox is connected, approved, healthy, and has remaining capacity.",
          "A person has recorded truthful campaign compliance evidence; an agent must never fabricate it.",
          "Recipients and message copy are real, authorized, and ready for human review."
        ],
        "human_steps": [
          "A person resolves mailbox or campaign-compliance evidence blockers.",
          "An owner or administrator must approve the immutable launch preview."
        ],
        "steps": [
          {
            "id": "create_campaign",
            "title": "Create the campaign draft",
            "owner": "synthcrew",
            "effect": "workspace_write"
          },
          {
            "id": "create_prospects",
            "title": "Create campaign prospects",
            "owner": "synthcrew",
            "effect": "workspace_write"
          },
          {
            "id": "create_sequence",
            "title": "Create the sequence",
            "owner": "synthcrew",
            "effect": "workspace_write"
          },
          {
            "id": "check_readiness",
            "title": "Check launch readiness",
            "owner": "synthcrew",
            "effect": "read_only"
          },
          {
            "id": "request_approval",
            "title": "Create immutable launch preview",
            "owner": "synthcrew",
            "effect": "workspace_write"
          },
          {
            "id": "execute_launch",
            "title": "Execute the approved launch",
            "owner": "human_then_synthcrew",
            "effect": "provider_call"
          },
          {
            "id": "verify_receipt",
            "title": "Verify the durable result",
            "owner": "synthcrew",
            "effect": "read_only"
          }
        ],
        "done_when": "The persisted campaign is live and the approved launch receipt is terminal.",
        "definition_hash": "48a3e4e3783d4c82944618ffce1bc8b56b27dbc3472b962c13c8c49174535ecf",
        "input_schema": {
          "$defs": {
            "WorkflowProspectIn": {
              "additionalProperties": false,
              "properties": {
                "name": {
                  "maxLength": 255,
                  "minLength": 1,
                  "title": "Name",
                  "type": "string"
                },
                "company": {
                  "maxLength": 255,
                  "minLength": 1,
                  "title": "Company",
                  "type": "string"
                },
                "domain": {
                  "anyOf": [
                    {
                      "maxLength": 255,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "title": "Domain"
                },
                "email": {
                  "maxLength": 320,
                  "minLength": 3,
                  "title": "Email",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "company",
                "email"
              ],
              "title": "WorkflowProspectIn",
              "type": "object"
            },
            "WorkflowSequenceStepIn": {
              "additionalProperties": false,
              "properties": {
                "step_number": {
                  "maximum": 20,
                  "minimum": 1,
                  "title": "Step Number",
                  "type": "integer"
                },
                "delay_days": {
                  "default": 3,
                  "maximum": 365,
                  "minimum": 0,
                  "title": "Delay Days",
                  "type": "integer"
                },
                "subject_template": {
                  "maxLength": 998,
                  "minLength": 1,
                  "title": "Subject Template",
                  "type": "string"
                },
                "body_template": {
                  "maxLength": 100000,
                  "minLength": 1,
                  "title": "Body Template",
                  "type": "string"
                }
              },
              "required": [
                "step_number",
                "subject_template",
                "body_template"
              ],
              "title": "WorkflowSequenceStepIn",
              "type": "object"
            }
          },
          "additionalProperties": false,
          "properties": {
            "campaign_name": {
              "maxLength": 255,
              "minLength": 1,
              "title": "Campaign Name",
              "type": "string"
            },
            "physical_address": {
              "maxLength": 512,
              "minLength": 5,
              "title": "Physical Address",
              "type": "string"
            },
            "unsubscribe_url": {
              "maxLength": 512,
              "minLength": 8,
              "title": "Unsubscribe Url",
              "type": "string"
            },
            "icp_description": {
              "anyOf": [
                {
                  "maxLength": 4000,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Icp Description"
            },
            "sender_account_ids": {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "maxItems": 25,
              "minItems": 1,
              "title": "Sender Account Ids",
              "type": "array"
            },
            "prospects": {
              "items": {
                "$ref": "#/$defs/WorkflowProspectIn"
              },
              "maxItems": 100,
              "minItems": 1,
              "title": "Prospects",
              "type": "array"
            },
            "sequence_name": {
              "maxLength": 255,
              "minLength": 1,
              "title": "Sequence Name",
              "type": "string"
            },
            "sequence_steps": {
              "items": {
                "$ref": "#/$defs/WorkflowSequenceStepIn"
              },
              "maxItems": 20,
              "minItems": 1,
              "title": "Sequence Steps",
              "type": "array"
            }
          },
          "required": [
            "campaign_name",
            "physical_address",
            "unsubscribe_url",
            "sender_account_ids",
            "prospects",
            "sequence_name",
            "sequence_steps"
          ],
          "title": "CampaignWorkflowInput",
          "type": "object"
        },
        "start_schema": {
          "$defs": {
            "CampaignWorkflowInput": {
              "additionalProperties": false,
              "properties": {
                "campaign_name": {
                  "maxLength": 255,
                  "minLength": 1,
                  "title": "Campaign Name",
                  "type": "string"
                },
                "physical_address": {
                  "maxLength": 512,
                  "minLength": 5,
                  "title": "Physical Address",
                  "type": "string"
                },
                "unsubscribe_url": {
                  "maxLength": 512,
                  "minLength": 8,
                  "title": "Unsubscribe Url",
                  "type": "string"
                },
                "icp_description": {
                  "anyOf": [
                    {
                      "maxLength": 4000,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "title": "Icp Description"
                },
                "sender_account_ids": {
                  "items": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "maxItems": 25,
                  "minItems": 1,
                  "title": "Sender Account Ids",
                  "type": "array"
                },
                "prospects": {
                  "items": {
                    "$ref": "#/$defs/WorkflowProspectIn"
                  },
                  "maxItems": 100,
                  "minItems": 1,
                  "title": "Prospects",
                  "type": "array"
                },
                "sequence_name": {
                  "maxLength": 255,
                  "minLength": 1,
                  "title": "Sequence Name",
                  "type": "string"
                },
                "sequence_steps": {
                  "items": {
                    "$ref": "#/$defs/WorkflowSequenceStepIn"
                  },
                  "maxItems": 20,
                  "minItems": 1,
                  "title": "Sequence Steps",
                  "type": "array"
                }
              },
              "required": [
                "campaign_name",
                "physical_address",
                "unsubscribe_url",
                "sender_account_ids",
                "prospects",
                "sequence_name",
                "sequence_steps"
              ],
              "title": "CampaignWorkflowInput",
              "type": "object"
            },
            "InboundReplyWorkflowInput": {
              "additionalProperties": false,
              "properties": {
                "inbox_id": {
                  "format": "uuid",
                  "title": "Inbox Id",
                  "type": "string"
                },
                "classification": {
                  "enum": [
                    "interested",
                    "question",
                    "referral",
                    "not_interested",
                    "out_of_office",
                    "unsubscribe",
                    "bounce",
                    "other",
                    "unknown"
                  ],
                  "title": "Classification",
                  "type": "string"
                },
                "confidence": {
                  "maximum": 1,
                  "minimum": 0,
                  "title": "Confidence",
                  "type": "number"
                },
                "summary": {
                  "maxLength": 4000,
                  "minLength": 1,
                  "title": "Summary",
                  "type": "string"
                },
                "recommended_action": {
                  "maxLength": 64,
                  "minLength": 1,
                  "title": "Recommended Action",
                  "type": "string"
                },
                "evidence_message_ids": {
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 100,
                  "minItems": 1,
                  "title": "Evidence Message Ids",
                  "type": "array"
                },
                "draft_subject": {
                  "anyOf": [
                    {
                      "maxLength": 998,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "title": "Draft Subject"
                },
                "draft_body": {
                  "anyOf": [
                    {
                      "maxLength": 16384,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "title": "Draft Body"
                }
              },
              "required": [
                "inbox_id",
                "classification",
                "confidence",
                "summary",
                "recommended_action",
                "evidence_message_ids"
              ],
              "title": "InboundReplyWorkflowInput",
              "type": "object"
            },
            "WorkflowProspectIn": {
              "additionalProperties": false,
              "properties": {
                "name": {
                  "maxLength": 255,
                  "minLength": 1,
                  "title": "Name",
                  "type": "string"
                },
                "company": {
                  "maxLength": 255,
                  "minLength": 1,
                  "title": "Company",
                  "type": "string"
                },
                "domain": {
                  "anyOf": [
                    {
                      "maxLength": 255,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "title": "Domain"
                },
                "email": {
                  "maxLength": 320,
                  "minLength": 3,
                  "title": "Email",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "company",
                "email"
              ],
              "title": "WorkflowProspectIn",
              "type": "object"
            },
            "WorkflowSequenceStepIn": {
              "additionalProperties": false,
              "properties": {
                "step_number": {
                  "maximum": 20,
                  "minimum": 1,
                  "title": "Step Number",
                  "type": "integer"
                },
                "delay_days": {
                  "default": 3,
                  "maximum": 365,
                  "minimum": 0,
                  "title": "Delay Days",
                  "type": "integer"
                },
                "subject_template": {
                  "maxLength": 998,
                  "minLength": 1,
                  "title": "Subject Template",
                  "type": "string"
                },
                "body_template": {
                  "maxLength": 100000,
                  "minLength": 1,
                  "title": "Body Template",
                  "type": "string"
                }
              },
              "required": [
                "step_number",
                "subject_template",
                "body_template"
              ],
              "title": "WorkflowSequenceStepIn",
              "type": "object"
            }
          },
          "additionalProperties": false,
          "properties": {
            "workflow_id": {
              "enum": [
                "prepare_and_launch_campaign",
                "handle_inbound_reply"
              ],
              "title": "Workflow Id",
              "type": "string"
            },
            "input": {
              "anyOf": [
                {
                  "$ref": "#/$defs/CampaignWorkflowInput"
                },
                {
                  "$ref": "#/$defs/InboundReplyWorkflowInput"
                }
              ],
              "title": "Input"
            }
          },
          "required": [
            "workflow_id",
            "input"
          ],
          "title": "WorkflowRunCreateIn",
          "type": "object"
        },
        "advance_schema": {
          "additionalProperties": false,
          "properties": {
            "expected_step_id": {
              "maxLength": 64,
              "minLength": 1,
              "title": "Expected Step Id",
              "type": "string"
            }
          },
          "required": [
            "expected_step_id"
          ],
          "title": "WorkflowAdvanceIn",
          "type": "object"
        },
        "mutation_headers": {
          "Idempotency-Key": "Stable identifier for one exact mutation; reuse it on retry.",
          "X-Agent-Run-Id": "Stable caller run identifier used for correlation."
        },
        "states": {
          "ready": "The caller may queue current_step.",
          "queued": "The durable worker accepted the step; inspect instead of resubmitting.",
          "running": "The worker is executing the persisted step.",
          "blocked": "Read error.next_action, fix the condition, then retry the same run.",
          "waiting_for_human": "A signed-in owner or admin must decide the immutable launch preview.",
          "succeeded": "The campaign launch and terminal receipt were verified.",
          "cancelled": "No unfinished step will run."
        },
        "retry_rule": "Retry an exact request with the same Idempotency-Key. Use a new key only after the run reports a retryable blocked step.",
        "approval_rule": "The agent cannot approve. After operation_id appears, an owner/admin decides it in the console; the agent then advances execute_launch.",
        "completion_rule": "Completion requires status=succeeded and a terminal operation receipt; HTTP 201/202 alone is not completion.",
        "run_api": {
          "start": "/api/v2/agent/workflow-runs",
          "advance": "/api/v2/agent/workflow-runs/{run_id}/advance",
          "inspect": "/api/v2/agent/workflow-runs/{run_id}",
          "events": "/api/v2/agent/workflow-runs/{run_id}/events",
          "cancel": "/api/v2/agent/workflow-runs/{run_id}/cancel"
        },
        "operations": [
          {
            "id": "start_workflow",
            "method": "POST",
            "path": "/api/v2/agent/workflow-runs",
            "mutation_headers_required": true,
            "body_schema": "start_schema",
            "success": "A persisted run in ready state; no campaign resource exists yet."
          },
          {
            "id": "list_workflows",
            "method": "GET",
            "path": "/api/v2/agent/workflow-runs",
            "mutation_headers_required": false,
            "success": "Only runs owned by this workspace key."
          },
          {
            "id": "inspect_workflow",
            "method": "GET",
            "path": "/api/v2/agent/workflow-runs/{run_id}",
            "mutation_headers_required": false,
            "success": "Persisted state, steps, resources, error, and exact next actions."
          },
          {
            "id": "advance_workflow",
            "method": "POST",
            "path": "/api/v2/agent/workflow-runs/{run_id}/advance",
            "mutation_headers_required": true,
            "body_schema": "advance_schema",
            "success": "The exact current step is queued; inspect until it leaves queued/running."
          },
          {
            "id": "workflow_events",
            "method": "GET",
            "path": "/api/v2/agent/workflow-runs/{run_id}/events",
            "mutation_headers_required": false,
            "success": "Ordered durable events after after_sequence."
          },
          {
            "id": "cancel_workflow",
            "method": "POST",
            "path": "/api/v2/agent/workflow-runs/{run_id}/cancel",
            "mutation_headers_required": true,
            "success": "Unfinished steps and a pending preview are cancelled."
          }
        ]
      },
      {
        "id": "handle_inbound_reply",
        "version": "1",
        "title": "Handle an inbound reply",
        "goal": "Ground a reply decision in persisted messages, apply safety policy, and prepare a human-reviewed response.",
        "required_scopes": [
          "replies:read",
          "replies:write",
          "drafts:read",
          "drafts:write",
          "receipts:read"
        ],
        "execution_mode": "guided",
        "prerequisites": [
          "The mailbox thread is already persisted.",
          "Classification evidence names real returned messages.",
          "Only a signed-in person can approve or send a reply."
        ],
        "human_steps": [
          "A person reviews, edits, approves or rejects any response draft."
        ],
        "steps": [
          {
            "id": "validate_thread",
            "title": "Validate the persisted thread snapshot",
            "owner": "synthcrew",
            "effect": "read_only"
          },
          {
            "id": "record_triage",
            "title": "Record the grounded triage decision",
            "owner": "synthcrew",
            "effect": "workspace_write"
          },
          {
            "id": "apply_disposition",
            "title": "Apply suppression, close, snooze, or reply policy",
            "owner": "synthcrew",
            "effect": "workspace_write"
          },
          {
            "id": "create_reply_preview",
            "title": "Create the immutable reply draft",
            "owner": "synthcrew",
            "effect": "workspace_write"
          },
          {
            "id": "wait_for_human",
            "title": "Wait for a human decision and delivery",
            "owner": "human",
            "effect": "provider_call"
          },
          {
            "id": "verify_reply_outcome",
            "title": "Verify the durable result",
            "owner": "synthcrew",
            "effect": "read_only"
          }
        ],
        "done_when": "The conversation is safely resolved or an approved threaded reply has a durable provider result.",
        "definition_hash": "5cbd96868388eb794a694170a29c2eaf1dc799d299cf66d52ed74dc4abda1dc3",
        "input_schema": {
          "additionalProperties": false,
          "properties": {
            "inbox_id": {
              "format": "uuid",
              "title": "Inbox Id",
              "type": "string"
            },
            "classification": {
              "enum": [
                "interested",
                "question",
                "referral",
                "not_interested",
                "out_of_office",
                "unsubscribe",
                "bounce",
                "other",
                "unknown"
              ],
              "title": "Classification",
              "type": "string"
            },
            "confidence": {
              "maximum": 1,
              "minimum": 0,
              "title": "Confidence",
              "type": "number"
            },
            "summary": {
              "maxLength": 4000,
              "minLength": 1,
              "title": "Summary",
              "type": "string"
            },
            "recommended_action": {
              "maxLength": 64,
              "minLength": 1,
              "title": "Recommended Action",
              "type": "string"
            },
            "evidence_message_ids": {
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "minItems": 1,
              "title": "Evidence Message Ids",
              "type": "array"
            },
            "draft_subject": {
              "anyOf": [
                {
                  "maxLength": 998,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Draft Subject"
            },
            "draft_body": {
              "anyOf": [
                {
                  "maxLength": 16384,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Draft Body"
            }
          },
          "required": [
            "inbox_id",
            "classification",
            "confidence",
            "summary",
            "recommended_action",
            "evidence_message_ids"
          ],
          "title": "InboundReplyWorkflowInput",
          "type": "object"
        },
        "start_schema": {
          "$defs": {
            "CampaignWorkflowInput": {
              "additionalProperties": false,
              "properties": {
                "campaign_name": {
                  "maxLength": 255,
                  "minLength": 1,
                  "title": "Campaign Name",
                  "type": "string"
                },
                "physical_address": {
                  "maxLength": 512,
                  "minLength": 5,
                  "title": "Physical Address",
                  "type": "string"
                },
                "unsubscribe_url": {
                  "maxLength": 512,
                  "minLength": 8,
                  "title": "Unsubscribe Url",
                  "type": "string"
                },
                "icp_description": {
                  "anyOf": [
                    {
                      "maxLength": 4000,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "title": "Icp Description"
                },
                "sender_account_ids": {
                  "items": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "maxItems": 25,
                  "minItems": 1,
                  "title": "Sender Account Ids",
                  "type": "array"
                },
                "prospects": {
                  "items": {
                    "$ref": "#/$defs/WorkflowProspectIn"
                  },
                  "maxItems": 100,
                  "minItems": 1,
                  "title": "Prospects",
                  "type": "array"
                },
                "sequence_name": {
                  "maxLength": 255,
                  "minLength": 1,
                  "title": "Sequence Name",
                  "type": "string"
                },
                "sequence_steps": {
                  "items": {
                    "$ref": "#/$defs/WorkflowSequenceStepIn"
                  },
                  "maxItems": 20,
                  "minItems": 1,
                  "title": "Sequence Steps",
                  "type": "array"
                }
              },
              "required": [
                "campaign_name",
                "physical_address",
                "unsubscribe_url",
                "sender_account_ids",
                "prospects",
                "sequence_name",
                "sequence_steps"
              ],
              "title": "CampaignWorkflowInput",
              "type": "object"
            },
            "InboundReplyWorkflowInput": {
              "additionalProperties": false,
              "properties": {
                "inbox_id": {
                  "format": "uuid",
                  "title": "Inbox Id",
                  "type": "string"
                },
                "classification": {
                  "enum": [
                    "interested",
                    "question",
                    "referral",
                    "not_interested",
                    "out_of_office",
                    "unsubscribe",
                    "bounce",
                    "other",
                    "unknown"
                  ],
                  "title": "Classification",
                  "type": "string"
                },
                "confidence": {
                  "maximum": 1,
                  "minimum": 0,
                  "title": "Confidence",
                  "type": "number"
                },
                "summary": {
                  "maxLength": 4000,
                  "minLength": 1,
                  "title": "Summary",
                  "type": "string"
                },
                "recommended_action": {
                  "maxLength": 64,
                  "minLength": 1,
                  "title": "Recommended Action",
                  "type": "string"
                },
                "evidence_message_ids": {
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 100,
                  "minItems": 1,
                  "title": "Evidence Message Ids",
                  "type": "array"
                },
                "draft_subject": {
                  "anyOf": [
                    {
                      "maxLength": 998,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "title": "Draft Subject"
                },
                "draft_body": {
                  "anyOf": [
                    {
                      "maxLength": 16384,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "title": "Draft Body"
                }
              },
              "required": [
                "inbox_id",
                "classification",
                "confidence",
                "summary",
                "recommended_action",
                "evidence_message_ids"
              ],
              "title": "InboundReplyWorkflowInput",
              "type": "object"
            },
            "WorkflowProspectIn": {
              "additionalProperties": false,
              "properties": {
                "name": {
                  "maxLength": 255,
                  "minLength": 1,
                  "title": "Name",
                  "type": "string"
                },
                "company": {
                  "maxLength": 255,
                  "minLength": 1,
                  "title": "Company",
                  "type": "string"
                },
                "domain": {
                  "anyOf": [
                    {
                      "maxLength": 255,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "title": "Domain"
                },
                "email": {
                  "maxLength": 320,
                  "minLength": 3,
                  "title": "Email",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "company",
                "email"
              ],
              "title": "WorkflowProspectIn",
              "type": "object"
            },
            "WorkflowSequenceStepIn": {
              "additionalProperties": false,
              "properties": {
                "step_number": {
                  "maximum": 20,
                  "minimum": 1,
                  "title": "Step Number",
                  "type": "integer"
                },
                "delay_days": {
                  "default": 3,
                  "maximum": 365,
                  "minimum": 0,
                  "title": "Delay Days",
                  "type": "integer"
                },
                "subject_template": {
                  "maxLength": 998,
                  "minLength": 1,
                  "title": "Subject Template",
                  "type": "string"
                },
                "body_template": {
                  "maxLength": 100000,
                  "minLength": 1,
                  "title": "Body Template",
                  "type": "string"
                }
              },
              "required": [
                "step_number",
                "subject_template",
                "body_template"
              ],
              "title": "WorkflowSequenceStepIn",
              "type": "object"
            }
          },
          "additionalProperties": false,
          "properties": {
            "workflow_id": {
              "enum": [
                "prepare_and_launch_campaign",
                "handle_inbound_reply"
              ],
              "title": "Workflow Id",
              "type": "string"
            },
            "input": {
              "anyOf": [
                {
                  "$ref": "#/$defs/CampaignWorkflowInput"
                },
                {
                  "$ref": "#/$defs/InboundReplyWorkflowInput"
                }
              ],
              "title": "Input"
            }
          },
          "required": [
            "workflow_id",
            "input"
          ],
          "title": "WorkflowRunCreateIn",
          "type": "object"
        },
        "advance_schema": {
          "additionalProperties": false,
          "properties": {
            "expected_step_id": {
              "maxLength": 64,
              "minLength": 1,
              "title": "Expected Step Id",
              "type": "string"
            }
          },
          "required": [
            "expected_step_id"
          ],
          "title": "WorkflowAdvanceIn",
          "type": "object"
        },
        "mutation_headers": {
          "Idempotency-Key": "Stable identifier for one exact mutation; reuse it on retry.",
          "X-Agent-Run-Id": "Stable caller run identifier used for correlation."
        },
        "states": {
          "ready": "The caller may queue current_step.",
          "queued": "The durable worker accepted the step; inspect instead of resubmitting.",
          "running": "The worker is executing the persisted step.",
          "blocked": "Read error.next_action, fix the condition, then retry the same run.",
          "waiting_for_human": "A signed-in owner or admin must review the reply draft and explicitly send or reject it.",
          "succeeded": "The inbound conversation has a durable safe disposition or verified threaded reply result.",
          "cancelled": "No unfinished step will run."
        },
        "retry_rule": "Retry an exact request with the same Idempotency-Key. Use a new key only after the run reports a retryable blocked step.",
        "approval_rule": "The agent cannot approve or send. A signed-in owner/admin reviews the reply draft, and any edit invalidates approval.",
        "completion_rule": "Completion requires status=succeeded and either a persisted safe disposition or a durable sent reply result.",
        "run_api": {
          "start": "/api/v2/agent/workflow-runs",
          "advance": "/api/v2/agent/workflow-runs/{run_id}/advance",
          "inspect": "/api/v2/agent/workflow-runs/{run_id}",
          "events": "/api/v2/agent/workflow-runs/{run_id}/events",
          "cancel": "/api/v2/agent/workflow-runs/{run_id}/cancel"
        },
        "operations": [
          {
            "id": "start_workflow",
            "method": "POST",
            "path": "/api/v2/agent/workflow-runs",
            "mutation_headers_required": true,
            "body_schema": "start_schema",
            "success": "A persisted inbound run in ready state; no reply is sent."
          },
          {
            "id": "list_workflows",
            "method": "GET",
            "path": "/api/v2/agent/workflow-runs",
            "mutation_headers_required": false,
            "success": "Only runs owned by this workspace key."
          },
          {
            "id": "inspect_workflow",
            "method": "GET",
            "path": "/api/v2/agent/workflow-runs/{run_id}",
            "mutation_headers_required": false,
            "success": "Persisted state, steps, resources, error, and exact next actions."
          },
          {
            "id": "advance_workflow",
            "method": "POST",
            "path": "/api/v2/agent/workflow-runs/{run_id}/advance",
            "mutation_headers_required": true,
            "body_schema": "advance_schema",
            "success": "The exact current step is queued; inspect until it leaves queued/running."
          },
          {
            "id": "workflow_events",
            "method": "GET",
            "path": "/api/v2/agent/workflow-runs/{run_id}/events",
            "mutation_headers_required": false,
            "success": "Ordered durable events after after_sequence."
          },
          {
            "id": "cancel_workflow",
            "method": "POST",
            "path": "/api/v2/agent/workflow-runs/{run_id}/cancel",
            "mutation_headers_required": true,
            "success": "Unfinished steps and a pending preview are cancelled."
          }
        ]
      }
    ],
    "default_workflow_id": "prepare_and_launch_campaign"
  },
  "routes": [
    {
      "method": "GET",
      "path": "/api/v2/agent/automation/history",
      "action_id": "list_automation_history_api_automation_history_get",
      "title": "List automation history",
      "purpose": "List the current automation history data available to this workspace.",
      "category": "System",
      "required_scopes": [
        "receipts:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "workspace_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Workspace Id"
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 32
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Status"
              },
              "workflow_status": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 32
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Workflow Status"
              },
              "workflow_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Workflow Id"
              },
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 25,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workspace Id"
          },
          "source": {
            "type": "string",
            "title": "Source"
          },
          "limitations": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Limitations"
          },
          "filters": {
            "additionalProperties": true,
            "type": "object",
            "title": "Filters"
          },
          "counts": {
            "properties": {
              "matched": {
                "type": "integer",
                "title": "Matched"
              },
              "returned": {
                "type": "integer",
                "title": "Returned"
              },
              "by_status": {
                "additionalProperties": {
                  "type": "integer"
                },
                "type": "object",
                "title": "By Status"
              }
            },
            "type": "object",
            "required": [
              "matched",
              "returned",
              "by_status"
            ],
            "title": "AutomationHistoryCountsOut"
          },
          "items": {
            "items": {
              "properties": {
                "run_id": {
                  "type": "string",
                  "format": "uuid",
                  "title": "Run Id"
                },
                "workflow_record_id": {
                  "type": "string",
                  "format": "uuid",
                  "title": "Workflow Record Id"
                },
                "workspace_id": {
                  "type": "string",
                  "title": "Workspace Id"
                },
                "workflow_id": {
                  "type": "string",
                  "title": "Workflow Id"
                },
                "workflow_name": {
                  "type": "string",
                  "title": "Workflow Name"
                },
                "workflow_status": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Workflow Status"
                },
                "trigger_type": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Trigger Type"
                },
                "trigger_metadata": {
                  "title": "Trigger Metadata"
                },
                "run_status": {
                  "type": "string",
                  "title": "Run Status"
                },
                "started_at": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Started At"
                },
                "finished_at": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Finished At"
                },
                "result": {
                  "title": "Result"
                },
                "error": {
                  "title": "Error"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "title": "Created At"
                }
              },
              "type": "object",
              "required": [
                "run_id",
                "workflow_record_id",
                "workspace_id",
                "workflow_id",
                "workflow_name",
                "run_status",
                "created_at"
              ],
              "title": "AutomationHistoryItemOut"
            },
            "type": "array",
            "title": "Items"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "source",
          "limitations",
          "filters",
          "counts",
          "items"
        ],
        "title": "AutomationHistoryListOut"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/automation/history' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/operations/preview",
      "action_id": "preview_agent_operation_api_v1_agent_operations_preview_post",
      "title": "Preview an automation operation",
      "purpose": "Builds a deterministic local preview and receipt. It does not call providers or send mail.",
      "category": "Operations",
      "required_scopes": [
        "automations:execute"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/AutomationExecuteRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "The response contains an operation_id, an immutable preview, and an explicit approval_required value.",
      "next_actions": [
        "Show the immutable preview to a person when approval is required.",
        "Reuse the returned identifiers for approve and execute."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "intent": {
                "type": "string",
                "enum": [
                  "preview",
                  "execute"
                ],
                "title": "Intent",
                "default": "preview"
              },
              "workspace_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 64,
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Workspace Id"
              },
              "workflow_id": {
                "type": "string",
                "maxLength": 128,
                "minLength": 1,
                "title": "Workflow Id"
              },
              "workflow_name": {
                "type": "string",
                "maxLength": 255,
                "minLength": 1,
                "title": "Workflow Name"
              },
              "workflow_status": {
                "type": "string",
                "enum": [
                  "draft",
                  "active",
                  "paused"
                ],
                "title": "Workflow Status",
                "default": "active"
              },
              "trigger_type": {
                "type": "string",
                "maxLength": 64,
                "minLength": 1,
                "title": "Trigger Type",
                "default": "manual"
              },
              "trigger_metadata": {
                "anyOf": [
                  {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Trigger Metadata"
              },
              "steps": {
                "items": {
                  "properties": {
                    "action": {
                      "type": "string",
                      "enum": [
                        "record_event",
                        "set_status",
                        "append_note"
                      ],
                      "title": "Action"
                    },
                    "target_type": {
                      "type": "string",
                      "maxLength": 64,
                      "minLength": 1,
                      "title": "Target Type",
                      "default": "automation"
                    },
                    "target_id": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 128
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Target Id"
                    },
                    "payload": {
                      "additionalProperties": true,
                      "type": "object",
                      "title": "Payload"
                    }
                  },
                  "additionalProperties": false,
                  "type": "object",
                  "required": [
                    "action"
                  ],
                  "title": "AutomationSandboxStepIn"
                },
                "type": "array",
                "maxItems": 25,
                "title": "Steps"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "workflow_id",
              "workflow_name"
            ],
            "title": "AutomationExecuteRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "operation_id": {
            "type": "string",
            "format": "uuid",
            "title": "Operation Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "approved",
              "queued",
              "running",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "approval_required": {
            "type": "boolean",
            "title": "Approval Required"
          },
          "approval_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Id"
          },
          "policy_decisions": {
            "additionalProperties": true,
            "type": "object",
            "title": "Policy Decisions"
          },
          "preview": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preview"
          },
          "result": {
            "title": "Result"
          },
          "error": {
            "title": "Error"
          },
          "event_count": {
            "type": "integer",
            "title": "Event Count",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "operation_id",
          "receipt_id",
          "workspace_id",
          "status",
          "approval_required",
          "policy_decisions"
        ],
        "title": "AgentOperationOut"
      },
      "execution_mode": "local_sandbox_only",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/operations/preview' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/AutomationExecuteRequest"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/operations/{operation_id}/cancel",
      "action_id": "cancel_agent_operation_api_v1_agent_operations__operation_id__cancel_post",
      "title": "Cancel agent operation",
      "purpose": "Cancel the specified operations cancel.",
      "category": "Operations",
      "required_scopes": [
        "automations:execute"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path operation_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "operation_id": {
                "type": "string",
                "format": "uuid",
                "title": "Operation Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "operation_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "operation_id": {
            "type": "string",
            "format": "uuid",
            "title": "Operation Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "approved",
              "queued",
              "running",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "approval_required": {
            "type": "boolean",
            "title": "Approval Required"
          },
          "approval_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Id"
          },
          "policy_decisions": {
            "additionalProperties": true,
            "type": "object",
            "title": "Policy Decisions"
          },
          "preview": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preview"
          },
          "result": {
            "title": "Result"
          },
          "error": {
            "title": "Error"
          },
          "event_count": {
            "type": "integer",
            "title": "Event Count",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "operation_id",
          "receipt_id",
          "workspace_id",
          "status",
          "approval_required",
          "policy_decisions"
        ],
        "title": "AgentOperationOut"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/operations/{operation_id}/cancel' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/operations/{operation_id}/execute",
      "action_id": "execute_agent_operation_api_v1_agent_operations__operation_id__execute_post",
      "title": "Execute an approved automation operation",
      "purpose": "Runs the approved local operation and records its receipt; approval and replay headers are required.",
      "category": "Operations",
      "required_scopes": [
        "automations:execute"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path operation_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A durable operation or receipt is returned; completion requires a documented terminal status.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "operation_id": {
                "type": "string",
                "format": "uuid",
                "title": "Operation Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "operation_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "operation_id": {
            "type": "string",
            "format": "uuid",
            "title": "Operation Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "approved",
              "queued",
              "running",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "approval_required": {
            "type": "boolean",
            "title": "Approval Required"
          },
          "approval_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Id"
          },
          "policy_decisions": {
            "additionalProperties": true,
            "type": "object",
            "title": "Policy Decisions"
          },
          "preview": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preview"
          },
          "result": {
            "title": "Result"
          },
          "error": {
            "title": "Error"
          },
          "event_count": {
            "type": "integer",
            "title": "Event Count",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "operation_id",
          "receipt_id",
          "workspace_id",
          "status",
          "approval_required",
          "policy_decisions"
        ],
        "title": "AgentOperationOut"
      },
      "execution_mode": "local_sandbox_only",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/operations/{operation_id}/execute' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/operations",
      "action_id": "list_agent_operations_api_v1_agent_operations_get",
      "title": "List agent operations",
      "purpose": "List the current operations data available to this workspace.",
      "category": "Operations",
      "required_scopes": [
        "receipts:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              },
              "status": {
                "anyOf": [
                  {
                    "enum": [
                      "preview",
                      "approved",
                      "queued",
                      "running",
                      "succeeded",
                      "failed",
                      "cancelled"
                    ],
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Status"
              },
              "run_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Run Id"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "items": {
            "items": {
              "properties": {
                "operation_id": {
                  "type": "string",
                  "format": "uuid",
                  "title": "Operation Id"
                },
                "receipt_id": {
                  "type": "string",
                  "format": "uuid",
                  "title": "Receipt Id"
                },
                "workspace_id": {
                  "type": "string",
                  "title": "Workspace Id"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "preview",
                    "approved",
                    "queued",
                    "running",
                    "succeeded",
                    "failed",
                    "cancelled"
                  ],
                  "title": "Status"
                },
                "approval_required": {
                  "type": "boolean",
                  "title": "Approval Required"
                },
                "approval_id": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Approval Id"
                },
                "policy_decisions": {
                  "additionalProperties": true,
                  "type": "object",
                  "title": "Policy Decisions"
                },
                "preview": {
                  "anyOf": [
                    {
                      "additionalProperties": true,
                      "type": "object"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Preview"
                },
                "result": {
                  "title": "Result"
                },
                "error": {
                  "title": "Error"
                },
                "event_count": {
                  "type": "integer",
                  "title": "Event Count",
                  "default": 0
                }
              },
              "type": "object",
              "required": [
                "operation_id",
                "receipt_id",
                "workspace_id",
                "status",
                "approval_required",
                "policy_decisions"
              ],
              "title": "AgentOperationOut"
            },
            "type": "array",
            "title": "Items"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run Id"
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "items",
          "limit"
        ],
        "title": "AgentOperationListOut"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/operations' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/operations/{operation_id}",
      "action_id": "get_agent_operation_api_v1_agent_operations__operation_id__get",
      "title": "Get agent operation",
      "purpose": "Return the current operations record for the supplied identifier.",
      "category": "Operations",
      "required_scopes": [
        "receipts:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path operation_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "operation_id": {
                "type": "string",
                "format": "uuid",
                "title": "Operation Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "operation_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "operation_id": {
            "type": "string",
            "format": "uuid",
            "title": "Operation Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "approved",
              "queued",
              "running",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "approval_required": {
            "type": "boolean",
            "title": "Approval Required"
          },
          "approval_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Id"
          },
          "policy_decisions": {
            "additionalProperties": true,
            "type": "object",
            "title": "Policy Decisions"
          },
          "preview": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preview"
          },
          "result": {
            "title": "Result"
          },
          "error": {
            "title": "Error"
          },
          "event_count": {
            "type": "integer",
            "title": "Event Count",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "operation_id",
          "receipt_id",
          "workspace_id",
          "status",
          "approval_required",
          "policy_decisions"
        ],
        "title": "AgentOperationOut"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/operations/{operation_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/operations/{operation_id}/receipt",
      "action_id": "get_agent_operation_receipt_api_v1_agent_operations__operation_id__receipt_get",
      "title": "Get agent operation receipt",
      "purpose": "Return the current operations receipt record for the supplied identifier.",
      "category": "Operations",
      "required_scopes": [
        "receipts:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path operation_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "operation_id": {
                "type": "string",
                "format": "uuid",
                "title": "Operation Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "operation_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "operation_id": {
            "type": "string",
            "format": "uuid",
            "title": "Operation Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "approved",
              "queued",
              "running",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "approval_required": {
            "type": "boolean",
            "title": "Approval Required"
          },
          "approval_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Id"
          },
          "policy_decisions": {
            "additionalProperties": true,
            "type": "object",
            "title": "Policy Decisions"
          },
          "preview": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preview"
          },
          "result": {
            "title": "Result"
          },
          "error": {
            "title": "Error"
          },
          "event_count": {
            "type": "integer",
            "title": "Event Count",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "operation_id",
          "receipt_id",
          "workspace_id",
          "status",
          "approval_required",
          "policy_decisions"
        ],
        "title": "AgentOperationOut"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/operations/{operation_id}/receipt' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/receipts/{receipt_id}",
      "action_id": "get_agent_receipt_api_v1_agent_receipts__receipt_id__get",
      "title": "Get agent receipt",
      "purpose": "Return the current receipts record for the supplied identifier.",
      "category": "Receipts",
      "required_scopes": [
        "receipts:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path receipt_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "receipt_id": {
                "type": "string",
                "format": "uuid",
                "title": "Receipt Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "receipt_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "operation_id": {
            "type": "string",
            "format": "uuid",
            "title": "Operation Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "approved",
              "queued",
              "running",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "approval_required": {
            "type": "boolean",
            "title": "Approval Required"
          },
          "approval_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Id"
          },
          "policy_decisions": {
            "additionalProperties": true,
            "type": "object",
            "title": "Policy Decisions"
          },
          "preview": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preview"
          },
          "result": {
            "title": "Result"
          },
          "error": {
            "title": "Error"
          },
          "event_count": {
            "type": "integer",
            "title": "Event Count",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "operation_id",
          "receipt_id",
          "workspace_id",
          "status",
          "approval_required",
          "policy_decisions"
        ],
        "title": "AgentOperationOut"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/receipts/{receipt_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/operations/{operation_id}/events",
      "action_id": "get_agent_operation_events_api_v1_agent_operations__operation_id__events_get",
      "title": "Get agent operation events",
      "purpose": "Return the current operations events record for the supplied identifier.",
      "category": "Operations",
      "required_scopes": [
        "receipts:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path operation_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "operation_id": {
                "type": "string",
                "format": "uuid",
                "title": "Operation Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "operation_id"
            ]
          },
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "after_sequence": {
                "type": "integer",
                "maximum": 2147483647,
                "minimum": 0,
                "default": 0,
                "title": "After Sequence"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "operation_id": {
            "type": "string",
            "format": "uuid",
            "title": "Operation Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "after_sequence": {
            "type": "integer",
            "title": "After Sequence"
          },
          "events": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Events"
          },
          "next_after_sequence": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next After Sequence"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "operation_id",
          "workspace_id",
          "after_sequence",
          "events"
        ],
        "title": "AgentOperationEventListOut"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/operations/{operation_id}/events' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/webhooks",
      "action_id": "create_agent_webhook_api_v1_agent_webhooks_post",
      "title": "Create agent webhook",
      "purpose": "Create or submit webhooks.",
      "category": "Webhooks",
      "required_scopes": [
        "webhooks:manage"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/AgentWebhookSubscriptionIn",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "url": {
                "type": "string",
                "maxLength": 2048,
                "minLength": 1,
                "title": "Url"
              },
              "secret": {
                "type": "string",
                "maxLength": 255,
                "minLength": 16,
                "title": "Secret"
              },
              "events": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 50,
                "title": "Events"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "url",
              "secret"
            ],
            "title": "AgentWebhookSubscriptionIn"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "events": {
            "items": {},
            "type": "array",
            "title": "Events"
          },
          "active": {
            "type": "boolean",
            "title": "Active"
          },
          "secret_configured": {
            "type": "boolean",
            "title": "Secret Configured",
            "default": true
          }
        },
        "type": "object",
        "required": [
          "id",
          "workspace_id",
          "url",
          "events",
          "active"
        ],
        "title": "AgentWebhookSubscriptionOut"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/webhooks' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/AgentWebhookSubscriptionIn"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/webhooks",
      "action_id": "list_agent_webhooks_api_v1_agent_webhooks_get",
      "title": "List agent webhooks",
      "purpose": "List the current webhooks data available to this workspace.",
      "category": "Webhooks",
      "required_scopes": [
        "webhooks:manage"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 100,
                "title": "Limit"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "type": "array",
        "items": {
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "title": "Id"
            },
            "workspace_id": {
              "type": "string",
              "title": "Workspace Id"
            },
            "url": {
              "type": "string",
              "title": "Url"
            },
            "events": {
              "items": {},
              "type": "array",
              "title": "Events"
            },
            "active": {
              "type": "boolean",
              "title": "Active"
            },
            "secret_configured": {
              "type": "boolean",
              "title": "Secret Configured",
              "default": true
            }
          },
          "type": "object",
          "required": [
            "id",
            "workspace_id",
            "url",
            "events",
            "active"
          ],
          "title": "AgentWebhookSubscriptionOut"
        },
        "title": "Response List Agent Webhooks Api V1 Agent Webhooks Get"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/webhooks' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/webhooks/deliveries/{delivery_id}",
      "action_id": "get_agent_webhook_delivery_api_v1_agent_webhooks_deliveries__delivery_id__get",
      "title": "Get agent webhook delivery",
      "purpose": "Return the current webhooks deliveries record for the supplied identifier.",
      "category": "Webhooks",
      "required_scopes": [
        "receipts:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path delivery_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "delivery_id": {
                "type": "string",
                "format": "uuid",
                "title": "Delivery Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "delivery_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "idempotency_key": {
            "type": "string",
            "title": "Idempotency Key"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "event_id": {
            "type": "string",
            "format": "uuid",
            "title": "Event Id"
          },
          "subscription_id": {
            "type": "string",
            "format": "uuid",
            "title": "Subscription Id"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "attempt_count": {
            "type": "integer",
            "title": "Attempt Count"
          },
          "error_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code"
          },
          "delivered_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Delivered At"
          },
          "provenance": {
            "additionalProperties": true,
            "type": "object",
            "title": "Provenance"
          }
        },
        "type": "object",
        "required": [
          "id",
          "idempotency_key",
          "workspace_id",
          "event_id",
          "subscription_id",
          "status",
          "attempt_count",
          "provenance"
        ],
        "title": "AgentWebhookDeliveryOut"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/webhooks/deliveries/{delivery_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/lead-vault/search/quote",
      "action_id": "quote_lead_search_api_v1_agent_lead_vault_search_quote_post",
      "title": "Quote lead search",
      "purpose": "Create or submit search quote.",
      "category": "Lead vault",
      "required_scopes": [
        "leads:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/SearchFilters",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "query": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 500
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Query"
              },
              "domains": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 100,
                "title": "Domains"
              },
              "titles": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 100,
                "title": "Titles"
              },
              "locations": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 100,
                "title": "Locations"
              },
              "limit": {
                "type": "integer",
                "maximum": 100.0,
                "minimum": 1.0,
                "title": "Limit",
                "default": 25
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 1024
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              },
              "provider": {
                "type": "string",
                "enum": [
                  "local",
                  "hunter"
                ],
                "title": "Provider",
                "default": "local"
              },
              "provider_operation": {
                "type": "string",
                "enum": [
                  "domain_search",
                  "email_finder"
                ],
                "title": "Provider Operation",
                "default": "domain_search"
              },
              "first_name": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "First Name"
              },
              "last_name": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Last Name"
              },
              "promote": {
                "type": "boolean",
                "title": "Promote",
                "default": false
              }
            },
            "additionalProperties": false,
            "type": "object",
            "title": "SearchFilters"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "data"
        ],
        "title": "AgentReadResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime.",
      "request_schema": "#/components/schemas/SearchFilters"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/lead-vault/search",
      "action_id": "search_leads_api_v1_agent_lead_vault_search_post",
      "title": "Search leads",
      "purpose": "Create or submit lead vault search.",
      "category": "Lead vault",
      "required_scopes": [
        "leads:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/SearchFilters",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "query": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 500
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Query"
              },
              "domains": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 100,
                "title": "Domains"
              },
              "titles": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 100,
                "title": "Titles"
              },
              "locations": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 100,
                "title": "Locations"
              },
              "limit": {
                "type": "integer",
                "maximum": 100.0,
                "minimum": 1.0,
                "title": "Limit",
                "default": 25
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 1024
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              },
              "provider": {
                "type": "string",
                "enum": [
                  "local",
                  "hunter"
                ],
                "title": "Provider",
                "default": "local"
              },
              "provider_operation": {
                "type": "string",
                "enum": [
                  "domain_search",
                  "email_finder"
                ],
                "title": "Provider Operation",
                "default": "domain_search"
              },
              "first_name": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "First Name"
              },
              "last_name": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Last Name"
              },
              "promote": {
                "type": "boolean",
                "title": "Promote",
                "default": false
              }
            },
            "additionalProperties": false,
            "type": "object",
            "title": "SearchFilters"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "pending",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          },
          "idempotency_replay": {
            "type": "boolean",
            "title": "Idempotency Replay",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "receipt_id",
          "status"
        ],
        "title": "AgentMutationResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime.",
      "request_schema": "#/components/schemas/SearchFilters"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/lead-vault/leads/{lead_id}/{action}/quote",
      "action_id": "quote_lead_action_api_v1_agent_lead_vault_leads__lead_id___action__quote_post",
      "title": "Quote lead action",
      "purpose": "Create or submit leads quote.",
      "category": "Lead vault",
      "required_scopes": [
        "leads:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path lead_id",
        "path action",
        "JSON request body matching #/components/schemas/LeadActionRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "lead_id": {
                "type": "string",
                "format": "uuid",
                "title": "Lead Id"
              },
              "action": {
                "enum": [
                  "enrich",
                  "verify",
                  "refresh"
                ],
                "type": "string",
                "title": "Action"
              }
            },
            "additionalProperties": false,
            "required": [
              "lead_id",
              "action"
            ]
          },
          "body": {
            "properties": {
              "fields": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 100,
                "title": "Fields"
              },
              "force": {
                "type": "boolean",
                "title": "Force",
                "default": false
              },
              "promote": {
                "type": "boolean",
                "title": "Promote",
                "default": false
              }
            },
            "additionalProperties": false,
            "type": "object",
            "title": "LeadActionRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "data"
        ],
        "title": "AgentReadResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime.",
      "request_schema": "#/components/schemas/LeadActionRequest"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/lead-vault/leads/{lead_id}/{action}",
      "action_id": "run_lead_action_api_v1_agent_lead_vault_leads__lead_id___action__post",
      "title": "Run lead action",
      "purpose": "Create or submit lead vault leads.",
      "category": "Lead vault",
      "required_scopes": [
        "leads:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path lead_id",
        "path action",
        "JSON request body matching #/components/schemas/LeadActionRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "lead_id": {
                "type": "string",
                "format": "uuid",
                "title": "Lead Id"
              },
              "action": {
                "enum": [
                  "enrich",
                  "verify",
                  "refresh"
                ],
                "type": "string",
                "title": "Action"
              }
            },
            "additionalProperties": false,
            "required": [
              "lead_id",
              "action"
            ]
          },
          "body": {
            "properties": {
              "fields": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 100,
                "title": "Fields"
              },
              "force": {
                "type": "boolean",
                "title": "Force",
                "default": false
              },
              "promote": {
                "type": "boolean",
                "title": "Promote",
                "default": false
              }
            },
            "additionalProperties": false,
            "type": "object",
            "title": "LeadActionRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "pending",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          },
          "idempotency_replay": {
            "type": "boolean",
            "title": "Idempotency Replay",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "receipt_id",
          "status"
        ],
        "title": "AgentMutationResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime.",
      "request_schema": "#/components/schemas/LeadActionRequest"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/lead-vault/leads/merge",
      "action_id": "merge_leads_api_v1_agent_lead_vault_leads_merge_post",
      "title": "Merge leads",
      "purpose": "Merge the specified leads merge.",
      "category": "Lead vault",
      "required_scopes": [
        "leads:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/LeadMergeRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "canonical_lead_id": {
                "type": "string",
                "format": "uuid",
                "title": "Canonical Lead Id"
              },
              "duplicate_lead_ids": {
                "items": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": "array",
                "maxItems": 100,
                "minItems": 1,
                "title": "Duplicate Lead Ids"
              },
              "reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Reason"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "canonical_lead_id",
              "duplicate_lead_ids"
            ],
            "title": "LeadMergeRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "pending",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          },
          "idempotency_replay": {
            "type": "boolean",
            "title": "Idempotency Replay",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "receipt_id",
          "status"
        ],
        "title": "AgentMutationResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime.",
      "request_schema": "#/components/schemas/LeadMergeRequest"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/lead-vault/exports",
      "action_id": "export_leads_api_v1_agent_lead_vault_exports_post",
      "title": "Export leads",
      "purpose": "Create or submit lead vault exports.",
      "category": "Lead vault",
      "required_scopes": [
        "exports:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/LeadExportRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "format": {
                "type": "string",
                "enum": [
                  "csv",
                  "jsonl"
                ],
                "title": "Format",
                "default": "csv"
              },
              "lead_ids": {
                "items": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": "array",
                "maxItems": 10000,
                "title": "Lead Ids"
              },
              "saved_search_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Saved Search Id"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "title": "LeadExportRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "pending",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          },
          "idempotency_replay": {
            "type": "boolean",
            "title": "Idempotency Replay",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "receipt_id",
          "status"
        ],
        "title": "AgentMutationResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime.",
      "request_schema": "#/components/schemas/LeadExportRequest"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/lead-vault/lists",
      "action_id": "list_lead_lists_api_v1_agent_lead_vault_lists_get",
      "title": "List lead lists",
      "purpose": "List the current lead vault lists data available to this workspace.",
      "category": "Lead vault",
      "required_scopes": [
        "leads:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 1024
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "data"
        ],
        "title": "AgentReadResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/lead-vault/lists' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/lead-vault/providers/usage",
      "action_id": "get_provider_usage_api_v1_agent_lead_vault_providers_usage_get",
      "title": "Get provider usage",
      "purpose": "List the current providers usage data available to this workspace.",
      "category": "Lead vault",
      "required_scopes": [
        "providers:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "provider": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64,
                    "pattern": "^[a-z][a-z0-9_-]*$"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Provider"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "data"
        ],
        "title": "AgentReadResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/lead-vault/providers/usage' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/lead-vault/providers/budgets",
      "action_id": "get_provider_budgets_api_v1_agent_lead_vault_providers_budgets_get",
      "title": "Get provider budgets",
      "purpose": "List the current providers budgets data available to this workspace.",
      "category": "Lead vault",
      "required_scopes": [
        "providers:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "data"
        ],
        "title": "AgentReadResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/lead-vault/providers/budgets' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "PUT",
      "path": "/api/v2/agent/lead-vault/providers/budgets",
      "action_id": "configure_provider_budget_api_v1_agent_lead_vault_providers_budgets_put",
      "title": "Configure provider budget",
      "purpose": "Update the specified providers budgets record.",
      "category": "Lead vault",
      "required_scopes": [
        "providers:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/ProviderBudgetWrite",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "provider": {
                "type": "string",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[a-z][a-z0-9_-]*$",
                "title": "Provider"
              },
              "monthly_limit": {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0,
                "title": "Monthly Limit"
              },
              "per_action_limit": {
                "anyOf": [
                  {
                    "type": "integer",
                    "maximum": 1000000000.0,
                    "minimum": 0.0
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Per Action Limit"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "provider",
              "monthly_limit"
            ],
            "title": "ProviderBudgetWrite"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "receipt_id": {
            "type": "string",
            "format": "uuid",
            "title": "Receipt Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "preview",
              "pending",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          },
          "idempotency_replay": {
            "type": "boolean",
            "title": "Idempotency Replay",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "workspace_id",
          "receipt_id",
          "status"
        ],
        "title": "AgentMutationResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime.",
      "request_schema": "#/components/schemas/ProviderBudgetWrite"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/growth/activation",
      "action_id": "readAgentGrowthActivation",
      "title": "Growth activation",
      "purpose": "List the current growth activation data available to this workspace.",
      "category": "Growth",
      "required_scopes": [
        "growth:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "as_of": {
            "type": "string",
            "format": "date-time",
            "title": "As Of"
          },
          "product_activation": {
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "complete",
                  "incomplete",
                  "unknown",
                  "blocked"
                ],
                "title": "Status"
              },
              "safe_next_action": {
                "type": "string",
                "enum": [
                  "none",
                  "connect_mailbox",
                  "create_scoped_agent_key",
                  "preview_operation",
                  "obtain_human_approval",
                  "execute_approved_operation",
                  "verify_durable_receipt",
                  "repeat_qualifying_operation_on_later_day",
                  "activate_paid_subscription",
                  "contact_workspace_owner"
                ],
                "title": "Safe Next Action"
              },
              "completed_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Completed At"
              },
              "reason_code": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 64,
                    "pattern": "^[A-Z][A-Z0-9_]*$"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Reason Code"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "status",
              "safe_next_action"
            ],
            "title": "ActivationOutcome",
            "description": "Truth state and a bounded, non-identifying recovery action."
          },
          "repeated_activation": {
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "complete",
                  "incomplete",
                  "unknown",
                  "blocked"
                ],
                "title": "Status"
              },
              "safe_next_action": {
                "type": "string",
                "enum": [
                  "none",
                  "connect_mailbox",
                  "create_scoped_agent_key",
                  "preview_operation",
                  "obtain_human_approval",
                  "execute_approved_operation",
                  "verify_durable_receipt",
                  "repeat_qualifying_operation_on_later_day",
                  "activate_paid_subscription",
                  "contact_workspace_owner"
                ],
                "title": "Safe Next Action"
              },
              "completed_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Completed At"
              },
              "reason_code": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 64,
                    "pattern": "^[A-Z][A-Z0-9_]*$"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Reason Code"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "status",
              "safe_next_action"
            ],
            "title": "ActivationOutcome",
            "description": "Truth state and a bounded, non-identifying recovery action."
          },
          "commercial_activation": {
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "complete",
                  "incomplete",
                  "unknown",
                  "blocked"
                ],
                "title": "Status"
              },
              "safe_next_action": {
                "type": "string",
                "enum": [
                  "none",
                  "connect_mailbox",
                  "create_scoped_agent_key",
                  "preview_operation",
                  "obtain_human_approval",
                  "execute_approved_operation",
                  "verify_durable_receipt",
                  "repeat_qualifying_operation_on_later_day",
                  "activate_paid_subscription",
                  "contact_workspace_owner"
                ],
                "title": "Safe Next Action"
              },
              "completed_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Completed At"
              },
              "reason_code": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 64,
                    "pattern": "^[A-Z][A-Z0-9_]*$"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Reason Code"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "status",
              "safe_next_action"
            ],
            "title": "ActivationOutcome",
            "description": "Truth state and a bounded, non-identifying recovery action."
          },
          "milestones": {
            "items": {
              "properties": {
                "status": {
                  "type": "string",
                  "enum": [
                    "complete",
                    "incomplete",
                    "unknown",
                    "blocked"
                  ],
                  "title": "Status"
                },
                "safe_next_action": {
                  "type": "string",
                  "enum": [
                    "none",
                    "connect_mailbox",
                    "create_scoped_agent_key",
                    "preview_operation",
                    "obtain_human_approval",
                    "execute_approved_operation",
                    "verify_durable_receipt",
                    "repeat_qualifying_operation_on_later_day",
                    "activate_paid_subscription",
                    "contact_workspace_owner"
                  ],
                  "title": "Safe Next Action"
                },
                "completed_at": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Completed At"
                },
                "reason_code": {
                  "anyOf": [
                    {
                      "type": "string",
                      "maxLength": 64,
                      "pattern": "^[A-Z][A-Z0-9_]*$"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Reason Code"
                },
                "name": {
                  "type": "string",
                  "enum": [
                    "mailbox_connected",
                    "scoped_agent_key_created",
                    "operation_previewed",
                    "human_approval_recorded",
                    "operation_executed",
                    "durable_receipt_recorded",
                    "qualifying_operation_repeated",
                    "paid_subscription_active"
                  ],
                  "title": "Name"
                }
              },
              "additionalProperties": false,
              "type": "object",
              "required": [
                "status",
                "safe_next_action",
                "name"
              ],
              "title": "ActivationMilestone"
            },
            "type": "array",
            "maxItems": 8,
            "minItems": 8,
            "title": "Milestones"
          },
          "contract_version": {
            "type": "string",
            "const": "growth.activation.v1",
            "title": "Contract Version",
            "default": "growth.activation.v1"
          },
          "workspace_id": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Workspace Id"
          },
          "aggregate_scope": {
            "type": "string",
            "const": "workspace",
            "title": "Aggregate Scope",
            "default": "workspace"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "as_of",
          "product_activation",
          "repeated_activation",
          "commercial_activation",
          "milestones",
          "workspace_id"
        ],
        "title": "GrowthActivationReadResponse",
        "description": "Workspace-only activation truth; never a platform funnel projection."
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/growth/activation' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/campaigns",
      "action_id": "list_campaigns_api_api_campaigns_get",
      "title": "List campaigns",
      "purpose": "List the current campaigns data available to this workspace.",
      "category": "Campaigns",
      "required_scopes": [
        "campaigns:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "items": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Items"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          }
        },
        "type": "object",
        "required": [
          "items",
          "limit"
        ],
        "title": "CampaignListResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/campaigns' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/campaigns",
      "action_id": "create_campaign_api_campaigns_post",
      "title": "Create campaign",
      "purpose": "Create or submit campaigns.",
      "category": "Campaigns",
      "required_scopes": [
        "campaigns:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/CampaignCreate",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 255,
                "minLength": 1,
                "title": "Name"
              },
              "physical_address": {
                "type": "string",
                "maxLength": 512,
                "title": "Physical Address",
                "default": ""
              },
              "unsubscribe_url": {
                "type": "string",
                "maxLength": 512,
                "title": "Unsubscribe Url",
                "default": ""
              },
              "icp_description": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 4000
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Icp Description"
              },
              "sender_account_ids": {
                "items": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": "array",
                "maxItems": 100,
                "title": "Sender Account Ids"
              }
            },
            "type": "object",
            "required": [
              "name"
            ],
            "title": "CampaignCreate"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "state": {
            "type": "string",
            "title": "State"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "tenant_id": {
            "type": "string",
            "title": "Tenant Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "daily_send_limit": {
            "type": "integer",
            "title": "Daily Send Limit",
            "default": 50
          },
          "physical_address": {
            "type": "string",
            "title": "Physical Address"
          },
          "unsubscribe_url": {
            "type": "string",
            "title": "Unsubscribe Url"
          },
          "icp_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Icp Description"
          },
          "canonical_state": {
            "type": "string",
            "title": "Canonical State",
            "readOnly": true
          },
          "allowed_actions": {
            "items": {
              "type": "string",
              "enum": [
                "schedule",
                "pause",
                "resume",
                "cancel",
                "archive",
                "restore",
                "enable",
                "disable"
              ]
            },
            "type": "array",
            "title": "Allowed Actions",
            "readOnly": true
          },
          "action_reasons": {
            "items": {
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "schedule",
                    "pause",
                    "resume",
                    "cancel",
                    "archive",
                    "restore",
                    "enable",
                    "disable"
                  ],
                  "title": "Action"
                },
                "code": {
                  "type": "string",
                  "maxLength": 128,
                  "minLength": 1,
                  "title": "Code"
                }
              },
              "type": "object",
              "required": [
                "action",
                "code"
              ],
              "title": "LifecycleActionReason",
              "description": "Typed reason why a state-valid action is currently withheld."
            },
            "type": "array",
            "title": "Action Reasons",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "state",
          "id",
          "tenant_id",
          "name",
          "physical_address",
          "unsubscribe_url",
          "canonical_state",
          "allowed_actions",
          "action_reasons"
        ],
        "title": "CampaignResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/campaigns' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/CampaignCreate"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/campaigns/{campaign_id}",
      "action_id": "get_campaign_api_campaigns__campaign_id__get",
      "title": "Get campaign",
      "purpose": "Return the current campaigns record for the supplied identifier.",
      "category": "Campaigns",
      "required_scopes": [
        "campaigns:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path campaign_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "campaign_id": {
                "type": "string",
                "format": "uuid",
                "title": "Campaign Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "campaign_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "state": {
            "type": "string",
            "title": "State"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "tenant_id": {
            "type": "string",
            "title": "Tenant Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "daily_send_limit": {
            "type": "integer",
            "title": "Daily Send Limit",
            "default": 50
          },
          "physical_address": {
            "type": "string",
            "title": "Physical Address"
          },
          "unsubscribe_url": {
            "type": "string",
            "title": "Unsubscribe Url"
          },
          "icp_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Icp Description"
          },
          "canonical_state": {
            "type": "string",
            "title": "Canonical State",
            "readOnly": true
          },
          "allowed_actions": {
            "items": {
              "type": "string",
              "enum": [
                "schedule",
                "pause",
                "resume",
                "cancel",
                "archive",
                "restore",
                "enable",
                "disable"
              ]
            },
            "type": "array",
            "title": "Allowed Actions",
            "readOnly": true
          },
          "action_reasons": {
            "items": {
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "schedule",
                    "pause",
                    "resume",
                    "cancel",
                    "archive",
                    "restore",
                    "enable",
                    "disable"
                  ],
                  "title": "Action"
                },
                "code": {
                  "type": "string",
                  "maxLength": 128,
                  "minLength": 1,
                  "title": "Code"
                }
              },
              "type": "object",
              "required": [
                "action",
                "code"
              ],
              "title": "LifecycleActionReason",
              "description": "Typed reason why a state-valid action is currently withheld."
            },
            "type": "array",
            "title": "Action Reasons",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "state",
          "id",
          "tenant_id",
          "name",
          "physical_address",
          "unsubscribe_url",
          "canonical_state",
          "allowed_actions",
          "action_reasons"
        ],
        "title": "CampaignResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/campaigns/{campaign_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "PATCH",
      "path": "/api/v2/agent/campaigns/{campaign_id}",
      "action_id": "update_campaign_api_campaigns__campaign_id__patch",
      "title": "Update campaign",
      "purpose": "Update the specified campaigns record.",
      "category": "Campaigns",
      "required_scopes": [
        "campaigns:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path campaign_id",
        "JSON request body matching #/components/schemas/CampaignUpdate",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "campaign_id": {
                "type": "string",
                "format": "uuid",
                "title": "Campaign Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "campaign_id"
            ]
          },
          "body": {
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Name"
              },
              "physical_address": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Physical Address"
              },
              "unsubscribe_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Unsubscribe Url"
              },
              "icp_description": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 4000
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Icp Description"
              },
              "daily_send_limit": {
                "anyOf": [
                  {
                    "type": "integer",
                    "maximum": 500.0,
                    "minimum": 1.0
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Daily Send Limit"
              },
              "sender_account_ids": {
                "anyOf": [
                  {
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": "array",
                    "maxItems": 100
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Sender Account Ids"
              }
            },
            "type": "object",
            "title": "CampaignUpdate"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "state": {
            "type": "string",
            "title": "State"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "tenant_id": {
            "type": "string",
            "title": "Tenant Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "daily_send_limit": {
            "type": "integer",
            "title": "Daily Send Limit",
            "default": 50
          },
          "physical_address": {
            "type": "string",
            "title": "Physical Address"
          },
          "unsubscribe_url": {
            "type": "string",
            "title": "Unsubscribe Url"
          },
          "icp_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Icp Description"
          },
          "canonical_state": {
            "type": "string",
            "title": "Canonical State",
            "readOnly": true
          },
          "allowed_actions": {
            "items": {
              "type": "string",
              "enum": [
                "schedule",
                "pause",
                "resume",
                "cancel",
                "archive",
                "restore",
                "enable",
                "disable"
              ]
            },
            "type": "array",
            "title": "Allowed Actions",
            "readOnly": true
          },
          "action_reasons": {
            "items": {
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "schedule",
                    "pause",
                    "resume",
                    "cancel",
                    "archive",
                    "restore",
                    "enable",
                    "disable"
                  ],
                  "title": "Action"
                },
                "code": {
                  "type": "string",
                  "maxLength": 128,
                  "minLength": 1,
                  "title": "Code"
                }
              },
              "type": "object",
              "required": [
                "action",
                "code"
              ],
              "title": "LifecycleActionReason",
              "description": "Typed reason why a state-valid action is currently withheld."
            },
            "type": "array",
            "title": "Action Reasons",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "state",
          "id",
          "tenant_id",
          "name",
          "physical_address",
          "unsubscribe_url",
          "canonical_state",
          "allowed_actions",
          "action_reasons"
        ],
        "title": "CampaignResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X PATCH 'https://api.synthcrew.io/api/v2/agent/campaigns/{campaign_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/CampaignUpdate"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/campaigns/{campaign_id}/launch-readiness",
      "action_id": "campaign_launch_readiness_api_campaigns__campaign_id__launch_readiness_get",
      "title": "Campaign launch readiness",
      "purpose": "Return the current campaigns launch readiness record for the supplied identifier.",
      "category": "Campaigns",
      "required_scopes": [
        "campaigns:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path campaign_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "campaign_id": {
                "type": "string",
                "format": "uuid",
                "title": "Campaign Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "campaign_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "state": {
            "type": "string",
            "title": "State"
          },
          "campaign_id": {
            "type": "string",
            "format": "uuid",
            "title": "Campaign Id"
          },
          "ready": {
            "type": "boolean",
            "title": "Ready"
          },
          "readiness_blockers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Readiness Blockers"
          },
          "canonical_state": {
            "type": "string",
            "title": "Canonical State",
            "readOnly": true
          },
          "allowed_actions": {
            "items": {
              "type": "string",
              "enum": [
                "schedule",
                "pause",
                "resume",
                "cancel",
                "archive",
                "restore",
                "enable",
                "disable"
              ]
            },
            "type": "array",
            "title": "Allowed Actions",
            "readOnly": true
          },
          "action_reasons": {
            "items": {
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "schedule",
                    "pause",
                    "resume",
                    "cancel",
                    "archive",
                    "restore",
                    "enable",
                    "disable"
                  ],
                  "title": "Action"
                },
                "code": {
                  "type": "string",
                  "maxLength": 128,
                  "minLength": 1,
                  "title": "Code"
                }
              },
              "type": "object",
              "required": [
                "action",
                "code"
              ],
              "title": "LifecycleActionReason",
              "description": "Typed reason why a state-valid action is currently withheld."
            },
            "type": "array",
            "title": "Action Reasons",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "state",
          "campaign_id",
          "ready",
          "canonical_state",
          "allowed_actions",
          "action_reasons"
        ],
        "title": "CampaignLaunchReadinessResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/campaigns/{campaign_id}/launch-readiness' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/campaigns/{campaign_id}/resume",
      "action_id": "resume_campaign_api_campaigns__campaign_id__resume_post",
      "title": "Resume campaign",
      "purpose": "Resume the specified campaigns resume.",
      "category": "Campaigns",
      "required_scopes": [
        "campaigns:launch"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path campaign_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "campaign_id": {
                "type": "string",
                "format": "uuid",
                "title": "Campaign Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "campaign_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "state": {
            "type": "string",
            "title": "State"
          },
          "message": {
            "type": "string",
            "title": "Message"
          },
          "campaign_id": {
            "type": "string",
            "format": "uuid",
            "title": "Campaign Id"
          },
          "scheduled_send_count": {
            "type": "integer",
            "title": "Scheduled Send Count",
            "default": 0
          },
          "affected_scheduled_send_count": {
            "type": "integer",
            "title": "Affected Scheduled Send Count",
            "default": 0
          },
          "affected_dispatch_outbox_count": {
            "type": "integer",
            "title": "Affected Dispatch Outbox Count",
            "default": 0
          },
          "provider_calls": {
            "type": "integer",
            "title": "Provider Calls",
            "default": 0
          },
          "network_calls": {
            "type": "integer",
            "title": "Network Calls",
            "default": 0
          },
          "live_send_attempted": {
            "type": "boolean",
            "title": "Live Send Attempted",
            "default": false
          },
          "readiness_blockers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Readiness Blockers"
          },
          "canonical_state": {
            "type": "string",
            "title": "Canonical State",
            "readOnly": true
          },
          "allowed_actions": {
            "items": {
              "type": "string",
              "enum": [
                "schedule",
                "pause",
                "resume",
                "cancel",
                "archive",
                "restore",
                "enable",
                "disable"
              ]
            },
            "type": "array",
            "title": "Allowed Actions",
            "readOnly": true
          },
          "action_reasons": {
            "items": {
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "schedule",
                    "pause",
                    "resume",
                    "cancel",
                    "archive",
                    "restore",
                    "enable",
                    "disable"
                  ],
                  "title": "Action"
                },
                "code": {
                  "type": "string",
                  "maxLength": 128,
                  "minLength": 1,
                  "title": "Code"
                }
              },
              "type": "object",
              "required": [
                "action",
                "code"
              ],
              "title": "LifecycleActionReason",
              "description": "Typed reason why a state-valid action is currently withheld."
            },
            "type": "array",
            "title": "Action Reasons",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "state",
          "message",
          "campaign_id",
          "canonical_state",
          "allowed_actions",
          "action_reasons"
        ],
        "title": "CampaignLifecycleResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime."
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/campaigns/{campaign_id}/schedule",
      "action_id": "schedule_campaign_api_campaigns__campaign_id__schedule_post",
      "title": "Schedule campaign",
      "purpose": "Schedule the specified campaigns schedule.",
      "category": "Campaigns",
      "required_scopes": [
        "campaigns:launch"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path campaign_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "campaign_id": {
                "type": "string",
                "format": "uuid",
                "title": "Campaign Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "campaign_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "state": {
            "type": "string",
            "title": "State"
          },
          "message": {
            "type": "string",
            "title": "Message"
          },
          "campaign_id": {
            "type": "string",
            "format": "uuid",
            "title": "Campaign Id"
          },
          "scheduled_send_count": {
            "type": "integer",
            "title": "Scheduled Send Count",
            "default": 0
          },
          "affected_scheduled_send_count": {
            "type": "integer",
            "title": "Affected Scheduled Send Count",
            "default": 0
          },
          "affected_dispatch_outbox_count": {
            "type": "integer",
            "title": "Affected Dispatch Outbox Count",
            "default": 0
          },
          "provider_calls": {
            "type": "integer",
            "title": "Provider Calls",
            "default": 0
          },
          "network_calls": {
            "type": "integer",
            "title": "Network Calls",
            "default": 0
          },
          "live_send_attempted": {
            "type": "boolean",
            "title": "Live Send Attempted",
            "default": false
          },
          "readiness_blockers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Readiness Blockers"
          },
          "canonical_state": {
            "type": "string",
            "title": "Canonical State",
            "readOnly": true
          },
          "allowed_actions": {
            "items": {
              "type": "string",
              "enum": [
                "schedule",
                "pause",
                "resume",
                "cancel",
                "archive",
                "restore",
                "enable",
                "disable"
              ]
            },
            "type": "array",
            "title": "Allowed Actions",
            "readOnly": true
          },
          "action_reasons": {
            "items": {
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "schedule",
                    "pause",
                    "resume",
                    "cancel",
                    "archive",
                    "restore",
                    "enable",
                    "disable"
                  ],
                  "title": "Action"
                },
                "code": {
                  "type": "string",
                  "maxLength": 128,
                  "minLength": 1,
                  "title": "Code"
                }
              },
              "type": "object",
              "required": [
                "action",
                "code"
              ],
              "title": "LifecycleActionReason",
              "description": "Typed reason why a state-valid action is currently withheld."
            },
            "type": "array",
            "title": "Action Reasons",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "state",
          "message",
          "campaign_id",
          "canonical_state",
          "allowed_actions",
          "action_reasons"
        ],
        "title": "CampaignLifecycleResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime."
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/campaigns/{campaign_id}/pause",
      "action_id": "pause_campaign_api_campaigns__campaign_id__pause_post",
      "title": "Pause campaign",
      "purpose": "Pause the specified campaigns pause.",
      "category": "Campaigns",
      "required_scopes": [
        "campaigns:launch"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path campaign_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "campaign_id": {
                "type": "string",
                "format": "uuid",
                "title": "Campaign Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "campaign_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "state": {
            "type": "string",
            "title": "State"
          },
          "message": {
            "type": "string",
            "title": "Message"
          },
          "campaign_id": {
            "type": "string",
            "format": "uuid",
            "title": "Campaign Id"
          },
          "scheduled_send_count": {
            "type": "integer",
            "title": "Scheduled Send Count",
            "default": 0
          },
          "affected_scheduled_send_count": {
            "type": "integer",
            "title": "Affected Scheduled Send Count",
            "default": 0
          },
          "affected_dispatch_outbox_count": {
            "type": "integer",
            "title": "Affected Dispatch Outbox Count",
            "default": 0
          },
          "provider_calls": {
            "type": "integer",
            "title": "Provider Calls",
            "default": 0
          },
          "network_calls": {
            "type": "integer",
            "title": "Network Calls",
            "default": 0
          },
          "live_send_attempted": {
            "type": "boolean",
            "title": "Live Send Attempted",
            "default": false
          },
          "readiness_blockers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Readiness Blockers"
          },
          "canonical_state": {
            "type": "string",
            "title": "Canonical State",
            "readOnly": true
          },
          "allowed_actions": {
            "items": {
              "type": "string",
              "enum": [
                "schedule",
                "pause",
                "resume",
                "cancel",
                "archive",
                "restore",
                "enable",
                "disable"
              ]
            },
            "type": "array",
            "title": "Allowed Actions",
            "readOnly": true
          },
          "action_reasons": {
            "items": {
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "schedule",
                    "pause",
                    "resume",
                    "cancel",
                    "archive",
                    "restore",
                    "enable",
                    "disable"
                  ],
                  "title": "Action"
                },
                "code": {
                  "type": "string",
                  "maxLength": 128,
                  "minLength": 1,
                  "title": "Code"
                }
              },
              "type": "object",
              "required": [
                "action",
                "code"
              ],
              "title": "LifecycleActionReason",
              "description": "Typed reason why a state-valid action is currently withheld."
            },
            "type": "array",
            "title": "Action Reasons",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "state",
          "message",
          "campaign_id",
          "canonical_state",
          "allowed_actions",
          "action_reasons"
        ],
        "title": "CampaignLifecycleResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime."
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/campaigns/{campaign_id}/cancel",
      "action_id": "cancel_campaign_api_campaigns__campaign_id__cancel_post",
      "title": "Cancel campaign",
      "purpose": "Cancel the specified campaigns cancel.",
      "category": "Campaigns",
      "required_scopes": [
        "campaigns:launch"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path campaign_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "campaign_id": {
                "type": "string",
                "format": "uuid",
                "title": "Campaign Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "campaign_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "state": {
            "type": "string",
            "title": "State"
          },
          "message": {
            "type": "string",
            "title": "Message"
          },
          "campaign_id": {
            "type": "string",
            "format": "uuid",
            "title": "Campaign Id"
          },
          "scheduled_send_count": {
            "type": "integer",
            "title": "Scheduled Send Count",
            "default": 0
          },
          "affected_scheduled_send_count": {
            "type": "integer",
            "title": "Affected Scheduled Send Count",
            "default": 0
          },
          "affected_dispatch_outbox_count": {
            "type": "integer",
            "title": "Affected Dispatch Outbox Count",
            "default": 0
          },
          "provider_calls": {
            "type": "integer",
            "title": "Provider Calls",
            "default": 0
          },
          "network_calls": {
            "type": "integer",
            "title": "Network Calls",
            "default": 0
          },
          "live_send_attempted": {
            "type": "boolean",
            "title": "Live Send Attempted",
            "default": false
          },
          "readiness_blockers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Readiness Blockers"
          },
          "canonical_state": {
            "type": "string",
            "title": "Canonical State",
            "readOnly": true
          },
          "allowed_actions": {
            "items": {
              "type": "string",
              "enum": [
                "schedule",
                "pause",
                "resume",
                "cancel",
                "archive",
                "restore",
                "enable",
                "disable"
              ]
            },
            "type": "array",
            "title": "Allowed Actions",
            "readOnly": true
          },
          "action_reasons": {
            "items": {
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "schedule",
                    "pause",
                    "resume",
                    "cancel",
                    "archive",
                    "restore",
                    "enable",
                    "disable"
                  ],
                  "title": "Action"
                },
                "code": {
                  "type": "string",
                  "maxLength": 128,
                  "minLength": 1,
                  "title": "Code"
                }
              },
              "type": "object",
              "required": [
                "action",
                "code"
              ],
              "title": "LifecycleActionReason",
              "description": "Typed reason why a state-valid action is currently withheld."
            },
            "type": "array",
            "title": "Action Reasons",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "state",
          "message",
          "campaign_id",
          "canonical_state",
          "allowed_actions",
          "action_reasons"
        ],
        "title": "CampaignLifecycleResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime."
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/campaigns/{campaign_id}/launch",
      "action_id": "launch_campaign_api_campaigns__campaign_id__launch_post",
      "title": "Launch campaign",
      "purpose": "Launch the specified campaigns launch.",
      "category": "Campaigns",
      "required_scopes": [
        "campaigns:launch"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path campaign_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "campaign_id": {
                "type": "string",
                "format": "uuid",
                "title": "Campaign Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "campaign_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "message": {
            "type": "string",
            "title": "Message"
          },
          "campaign_id": {
            "type": "string",
            "format": "uuid",
            "title": "Campaign Id"
          },
          "warnings": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Warnings"
          },
          "readiness_blockers": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Readiness Blockers"
          },
          "scheduled_send_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheduled Send Count"
          },
          "live_send_attempted": {
            "type": "boolean",
            "title": "Live Send Attempted",
            "default": false
          },
          "request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Id"
          },
          "dry_run": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dry Run"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "workspace_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workspace Id"
          },
          "tenant_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tenant Id"
          },
          "route_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Route Name"
          },
          "method": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Method"
          },
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Path"
          },
          "approval_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Id"
          },
          "canonical_state": {
            "type": "string",
            "title": "Canonical State",
            "readOnly": true
          },
          "allowed_actions": {
            "items": {
              "type": "string",
              "enum": [
                "schedule",
                "pause",
                "resume",
                "cancel",
                "archive",
                "restore",
                "enable",
                "disable"
              ]
            },
            "type": "array",
            "title": "Allowed Actions",
            "readOnly": true
          },
          "action_reasons": {
            "items": {
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "schedule",
                    "pause",
                    "resume",
                    "cancel",
                    "archive",
                    "restore",
                    "enable",
                    "disable"
                  ],
                  "title": "Action"
                },
                "code": {
                  "type": "string",
                  "maxLength": 128,
                  "minLength": 1,
                  "title": "Code"
                }
              },
              "type": "object",
              "required": [
                "action",
                "code"
              ],
              "title": "LifecycleActionReason",
              "description": "Typed reason why a state-valid action is currently withheld."
            },
            "type": "array",
            "title": "Action Reasons",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "message",
          "campaign_id",
          "canonical_state",
          "allowed_actions",
          "action_reasons"
        ],
        "title": "CampaignLaunchResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "human_approval_required",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime."
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/email-accounts",
      "action_id": "list_email_accounts_api_email_accounts_get",
      "title": "List email accounts",
      "purpose": "List the current email accounts data available to this workspace.",
      "category": "Mailboxes",
      "required_scopes": [
        "mailboxes:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "items": {
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "title": "Id"
            },
            "email": {
              "type": "string",
              "title": "Email"
            },
            "provider_key": {
              "type": "string",
              "title": "Provider Key"
            },
            "auth_method": {
              "type": "string",
              "title": "Auth Method"
            },
            "is_active": {
              "type": "boolean",
              "title": "Is Active"
            },
            "is_revoked": {
              "type": "boolean",
              "title": "Is Revoked",
              "default": false
            },
            "provider_capabilities": {
              "anyOf": [
                {
                  "additionalProperties": true,
                  "type": "object"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Provider Capabilities"
            },
            "domain": {
              "type": "string",
              "title": "Domain"
            },
            "daily_send_limit": {
              "type": "integer",
              "title": "Daily Send Limit"
            },
            "sends_today": {
              "type": "integer",
              "title": "Sends Today"
            },
            "warmup_status": {
              "type": "string",
              "title": "Warmup Status",
              "default": "inactive"
            },
            "reputation_score": {
              "type": "integer",
              "title": "Reputation Score",
              "default": 100
            },
            "ramp_override_day": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Ramp Override Day"
            },
            "ramp_paused": {
              "type": "boolean",
              "title": "Ramp Paused",
              "default": false
            },
            "provider_daily_send_limit": {
              "type": "integer",
              "title": "Provider Daily Send Limit",
              "default": 0
            },
            "tenant_daily_send_limit": {
              "type": "integer",
              "title": "Tenant Daily Send Limit",
              "default": 0
            },
            "health_status": {
              "type": "string",
              "title": "Health Status",
              "default": "unknown"
            },
            "canonical_state": {
              "type": "string",
              "title": "Canonical State",
              "readOnly": true
            },
            "allowed_actions": {
              "items": {
                "type": "string",
                "enum": [
                  "schedule",
                  "pause",
                  "resume",
                  "cancel",
                  "archive",
                  "restore",
                  "enable",
                  "disable"
                ]
              },
              "type": "array",
              "title": "Allowed Actions",
              "readOnly": true
            },
            "action_reasons": {
              "items": {
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "schedule",
                      "pause",
                      "resume",
                      "cancel",
                      "archive",
                      "restore",
                      "enable",
                      "disable"
                    ],
                    "title": "Action"
                  },
                  "code": {
                    "type": "string",
                    "maxLength": 128,
                    "minLength": 1,
                    "title": "Code"
                  }
                },
                "type": "object",
                "required": [
                  "action",
                  "code"
                ],
                "title": "LifecycleActionReason",
                "description": "Typed reason why a state-valid action is currently withheld."
              },
              "type": "array",
              "title": "Action Reasons",
              "readOnly": true
            }
          },
          "type": "object",
          "required": [
            "id",
            "email",
            "provider_key",
            "auth_method",
            "is_active",
            "domain",
            "daily_send_limit",
            "sends_today",
            "canonical_state",
            "allowed_actions",
            "action_reasons"
          ],
          "title": "EmailAccountResponse",
          "description": "Safe Google OAuth mailbox projection; no transport configuration leaks."
        },
        "type": "array",
        "title": "Response List Email Accounts Api Email Accounts Get"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/email-accounts' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/email-accounts/inventory",
      "action_id": "get_mailbox_inventory_api_email_accounts_inventory_get",
      "title": "Get mailbox inventory",
      "purpose": "List the current email accounts inventory data available to this workspace.",
      "category": "Mailboxes",
      "required_scopes": [
        "mailboxes:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 250,
                "minimum": 1,
                "default": 100,
                "title": "Limit"
              },
              "address": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 320
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Address"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "tenant_id": {
            "type": "string",
            "title": "Tenant Id"
          },
          "count": {
            "type": "integer",
            "title": "Count"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          },
          "items": {
            "items": {
              "properties": {
                "id": {
                  "type": "string",
                  "title": "Id"
                },
                "tenant_id": {
                  "type": "string",
                  "title": "Tenant Id"
                },
                "address": {
                  "type": "string",
                  "title": "Address"
                },
                "domain": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Domain"
                },
                "provider": {
                  "type": "string",
                  "enum": [
                    "google",
                    "unknown"
                  ],
                  "title": "Provider"
                },
                "origin": {
                  "type": "string",
                  "enum": [
                    "byok_connected",
                    "legacy_unknown",
                    "managed",
                    "reseller"
                  ],
                  "title": "Origin"
                },
                "ownership": {
                  "type": "string",
                  "enum": [
                    "tenant_owned",
                    "provider_managed",
                    "reseller_controlled",
                    "unknown"
                  ],
                  "title": "Ownership"
                },
                "role": {
                  "type": "string",
                  "title": "Role"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "connected",
                    "failed",
                    "disabled"
                  ],
                  "title": "Status"
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "connected",
                    "failed",
                    "disabled"
                  ],
                  "title": "State"
                },
                "canonical_state": {
                  "type": "string",
                  "enum": [
                    "enabled",
                    "disabled",
                    "revoked",
                    "pending",
                    "failed",
                    "unknown"
                  ],
                  "title": "Canonical State"
                },
                "allowed_actions": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "schedule",
                      "pause",
                      "resume",
                      "cancel",
                      "archive",
                      "restore",
                      "enable",
                      "disable"
                    ]
                  },
                  "type": "array",
                  "title": "Allowed Actions"
                },
                "action_reasons": {
                  "items": {
                    "properties": {
                      "action": {
                        "type": "string",
                        "enum": [
                          "schedule",
                          "pause",
                          "resume",
                          "cancel",
                          "archive",
                          "restore",
                          "enable",
                          "disable"
                        ],
                        "title": "Action"
                      },
                      "code": {
                        "type": "string",
                        "maxLength": 128,
                        "minLength": 1,
                        "title": "Code"
                      }
                    },
                    "additionalProperties": false,
                    "type": "object",
                    "required": [
                      "action",
                      "code"
                    ],
                    "title": "MailboxInventoryActionReason"
                  },
                  "type": "array",
                  "title": "Action Reasons"
                },
                "capabilities": {
                  "additionalProperties": {
                    "type": "boolean"
                  },
                  "propertyNames": {
                    "enum": [
                      "send",
                      "receive"
                    ]
                  },
                  "type": "object",
                  "title": "Capabilities"
                },
                "capability_state": {
                  "type": "string",
                  "enum": [
                    "missing",
                    "configured"
                  ],
                  "title": "Capability State"
                },
                "readiness": {
                  "type": "string",
                  "enum": [
                    "ready",
                    "not_ready",
                    "unknown"
                  ],
                  "title": "Readiness"
                },
                "approval_state": {
                  "type": "string",
                  "enum": [
                    "missing",
                    "pending",
                    "approved",
                    "rejected",
                    "expired"
                  ],
                  "title": "Approval State"
                },
                "quota": {
                  "properties": {
                    "send_limit": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Send Limit"
                    },
                    "sends_used": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Sends Used"
                    },
                    "send_remaining": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Send Remaining"
                    },
                    "receive_limit": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Receive Limit"
                    },
                    "receives_used": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Receives Used"
                    },
                    "receive_remaining": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Receive Remaining"
                    },
                    "state": {
                      "type": "string",
                      "enum": [
                        "available",
                        "exhausted",
                        "unknown"
                      ],
                      "title": "State"
                    }
                  },
                  "additionalProperties": false,
                  "type": "object",
                  "required": [
                    "send_limit",
                    "sends_used",
                    "send_remaining",
                    "receive_limit",
                    "receives_used",
                    "receive_remaining",
                    "state"
                  ],
                  "title": "MailboxInventoryQuota"
                },
                "remediation": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "none",
                        "mailbox_disabled",
                        "ownership_confirmation_required",
                        "approval_required",
                        "capability_configuration_required",
                        "quota_exhausted",
                        "provider_validation_required",
                        "health_observation_required"
                      ],
                      "title": "Code"
                    },
                    "kind": {
                      "type": "string",
                      "enum": [
                        "none",
                        "approval",
                        "capability",
                        "quota",
                        "validation",
                        "availability",
                        "ownership"
                      ],
                      "title": "Kind"
                    },
                    "action": {
                      "type": "string",
                      "title": "Action"
                    },
                    "retryable": {
                      "type": "boolean",
                      "title": "Retryable"
                    }
                  },
                  "additionalProperties": false,
                  "type": "object",
                  "required": [
                    "code",
                    "kind",
                    "action",
                    "retryable"
                  ],
                  "title": "MailboxInventoryRemediation",
                  "description": "A stable action category with no provider or credential detail."
                },
                "source_records": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "email_account",
                      "mailbox_connection"
                    ]
                  },
                  "type": "array",
                  "minItems": 1,
                  "title": "Source Records"
                }
              },
              "additionalProperties": false,
              "type": "object",
              "required": [
                "id",
                "tenant_id",
                "address",
                "domain",
                "provider",
                "origin",
                "ownership",
                "role",
                "status",
                "state",
                "canonical_state",
                "allowed_actions",
                "capabilities",
                "capability_state",
                "readiness",
                "approval_state",
                "quota",
                "remediation",
                "source_records"
              ],
              "title": "MailboxInventoryItem"
            },
            "type": "array",
            "title": "Items"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "tenant_id",
          "count",
          "limit",
          "items"
        ],
        "title": "MailboxInventoryResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/email-accounts/inventory' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/export/{resource}",
      "action_id": "export_resource_api_export__resource__get",
      "title": "Export resource",
      "purpose": "Return the current export record for the supplied identifier.",
      "category": "System",
      "required_scopes": [
        "exports:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path resource"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "resource": {
                "enum": [
                  "prospects",
                  "campaigns",
                  "email_accounts"
                ],
                "type": "string",
                "title": "Resource"
              }
            },
            "additionalProperties": false,
            "required": [
              "resource"
            ]
          },
          "query": {
            "type": "object",
            "properties": {
              "format": {
                "enum": [
                  "csv",
                  "json"
                ],
                "type": "string",
                "default": "json",
                "title": "Format"
              },
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/export/{resource}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/inbox",
      "action_id": "list_inbox_api_inbox_get",
      "title": "List inbox",
      "purpose": "List the current inbox data available to this workspace.",
      "category": "Inbox",
      "required_scopes": [
        "replies:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "default": "open",
                "title": "Status"
              },
              "page": {
                "type": "integer",
                "default": 1,
                "title": "Page"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "type": "array",
        "items": {
          "additionalProperties": true,
          "type": "object"
        },
        "title": "Response List Inbox Api Inbox Get"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/inbox' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/inbox/{inbox_id}/thread",
      "action_id": "get_inbox_thread_api_inbox__inbox_id__thread_get",
      "title": "Get inbox thread",
      "purpose": "Return the current inbox thread record for the supplied identifier.",
      "category": "Inbox",
      "required_scopes": [
        "replies:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path inbox_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "inbox_id": {
                "type": "string",
                "title": "Inbox Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "inbox_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Response Get Inbox Thread Api Inbox  Inbox Id  Thread Get"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/inbox/{inbox_id}/thread' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/inbox/{conversation_id}/triage",
      "action_id": "triage_inbox_conversation_api_inbox__conversation_id__triage_post",
      "title": "Triage inbox conversation",
      "purpose": "Create or submit inbox triage.",
      "category": "Inbox",
      "required_scopes": [
        "replies:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path conversation_id",
        "JSON request body matching #/components/schemas/ConversationTriageRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "conversation_id": {
                "type": "string",
                "format": "uuid",
                "title": "Conversation Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "conversation_id"
            ]
          },
          "body": {
            "properties": {
              "classification": {
                "type": "string",
                "maxLength": 32,
                "minLength": 1,
                "title": "Classification"
              },
              "confidence": {
                "type": "number",
                "maximum": 1.0,
                "minimum": 0.0,
                "title": "Confidence"
              },
              "summary": {
                "type": "string",
                "maxLength": 4000,
                "minLength": 1,
                "title": "Summary"
              },
              "recommended_action": {
                "type": "string",
                "maxLength": 64,
                "minLength": 1,
                "title": "Recommended Action"
              },
              "evidence_message_ids": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 100,
                "minItems": 1,
                "title": "Evidence Message Ids"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "classification",
              "confidence",
              "summary",
              "recommended_action",
              "evidence_message_ids"
            ],
            "title": "ConversationTriageRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Response Triage Inbox Conversation Api Inbox  Conversation Id  Triage Post"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/inbox/{conversation_id}/triage' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/ConversationTriageRequest"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/inbox/{conversation_id}/drafts",
      "action_id": "create_inbox_conversation_draft_api_inbox__conversation_id__drafts_post",
      "title": "Create inbox conversation draft",
      "purpose": "Create or submit inbox drafts.",
      "category": "Inbox",
      "required_scopes": [
        "drafts:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path conversation_id",
        "JSON request body matching #/components/schemas/ConversationDraftRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "conversation_id": {
                "type": "string",
                "format": "uuid",
                "title": "Conversation Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "conversation_id"
            ]
          },
          "body": {
            "properties": {
              "subject": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 998
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Subject"
              },
              "body": {
                "type": "string",
                "maxLength": 16384,
                "minLength": 1,
                "title": "Body"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "body"
            ],
            "title": "ConversationDraftRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Response Create Inbox Conversation Draft Api Inbox  Conversation Id  Drafts Post"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/inbox/{conversation_id}/drafts' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/ConversationDraftRequest"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/inbox/{conversation_id}/outcomes",
      "action_id": "set_inbox_conversation_outcome_api_inbox__conversation_id__outcomes_post",
      "title": "Set inbox conversation outcome",
      "purpose": "Create or submit inbox outcomes.",
      "category": "Inbox",
      "required_scopes": [
        "replies:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path conversation_id",
        "JSON request body matching #/components/schemas/ConversationOutcomeRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "conversation_id": {
                "type": "string",
                "format": "uuid",
                "title": "Conversation Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "conversation_id"
            ]
          },
          "body": {
            "properties": {
              "outcome": {
                "type": "string",
                "maxLength": 32,
                "minLength": 1,
                "title": "Outcome"
              },
              "scheduled_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Scheduled At"
              },
              "external_reference": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "External Reference"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "outcome"
            ],
            "title": "ConversationOutcomeRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Response Set Inbox Conversation Outcome Api Inbox  Conversation Id  Outcomes Post"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/inbox/{conversation_id}/outcomes' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/ConversationOutcomeRequest"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/inbox/{inbox_id}/archive",
      "action_id": "archive_inbox_reply_api_inbox__inbox_id__archive_post",
      "title": "Archive inbox reply",
      "purpose": "Create or submit inbox archive.",
      "category": "Inbox",
      "required_scopes": [
        "replies:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path inbox_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "inbox_id": {
                "type": "string",
                "title": "Inbox Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "inbox_id"
            ]
          },
          "header": {
            "type": "object",
            "properties": {
              "Idempotency-Key": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Idempotency-Key"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Response Archive Inbox Reply Api Inbox  Inbox Id  Archive Post"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/inbox/{inbox_id}/archive' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/compliance/consent/{lead_id}",
      "action_id": "get_consent_history_compliance_consent__lead_id__get",
      "title": "Get consent history compliance consent lead id get",
      "purpose": "Return the current compliance consent record for the supplied identifier.",
      "category": "Compliance",
      "required_scopes": [
        "privacy:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path lead_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "lead_id": {
                "type": "string",
                "format": "uuid",
                "title": "Lead Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "lead_id"
            ]
          },
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/compliance/consent/{lead_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/dnc",
      "action_id": "list_dnc_entries_dnc_get",
      "title": "List dnc entries dnc get",
      "purpose": "List the current dnc data available to this workspace.",
      "category": "Do-not-contact",
      "required_scopes": [
        "dnc:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "items": {
            "items": {
              "properties": {
                "id": {
                  "type": "string",
                  "title": "Id"
                },
                "email": {
                  "type": "string",
                  "title": "Email"
                },
                "domain": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Domain"
                },
                "workspace_id": {
                  "type": "string",
                  "title": "Workspace Id"
                },
                "reason": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Reason"
                },
                "added_at": {
                  "type": "string",
                  "title": "Added At"
                }
              },
              "type": "object",
              "required": [
                "id",
                "email",
                "workspace_id",
                "added_at"
              ],
              "title": "DncEntryResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          }
        },
        "type": "object",
        "required": [
          "items",
          "limit"
        ],
        "title": "DncEntryListResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/dnc' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/dnc",
      "action_id": "create_dnc_entry_dnc_post",
      "title": "Create dnc entry dnc post",
      "purpose": "Create or submit dnc.",
      "category": "Do-not-contact",
      "required_scopes": [
        "dnc:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/DncEntryCreate",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "email": {
                "type": "string",
                "title": "Email"
              },
              "reason": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Reason"
              },
              "workspace_id": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Workspace Id"
              }
            },
            "type": "object",
            "required": [
              "email"
            ],
            "title": "DncEntryCreate"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "email": {
            "type": "string",
            "title": "Email"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "added_at": {
            "type": "string",
            "title": "Added At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "email",
          "workspace_id",
          "added_at"
        ],
        "title": "DncEntryResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/dnc' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/DncEntryCreate"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/dnc/bulk",
      "action_id": "bulk_create_dnc_entries_dnc_bulk_post",
      "title": "Bulk create dnc entries dnc bulk post",
      "purpose": "Create or submit dnc bulk.",
      "category": "Do-not-contact",
      "required_scopes": [
        "dnc:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/DncBulkCreate",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "entries": {
                "items": {
                  "properties": {
                    "email": {
                      "type": "string",
                      "title": "Email"
                    },
                    "reason": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Reason"
                    },
                    "workspace_id": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Workspace Id"
                    }
                  },
                  "type": "object",
                  "required": [
                    "email"
                  ],
                  "title": "DncEntryCreate"
                },
                "type": "array",
                "title": "Entries"
              }
            },
            "type": "object",
            "required": [
              "entries"
            ],
            "title": "DncBulkCreate"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "items": {
          "properties": {
            "id": {
              "type": "string",
              "title": "Id"
            },
            "email": {
              "type": "string",
              "title": "Email"
            },
            "domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Domain"
            },
            "workspace_id": {
              "type": "string",
              "title": "Workspace Id"
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Reason"
            },
            "added_at": {
              "type": "string",
              "title": "Added At"
            }
          },
          "type": "object",
          "required": [
            "id",
            "email",
            "workspace_id",
            "added_at"
          ],
          "title": "DncEntryResponse"
        },
        "type": "array",
        "title": "Response Bulk Create Dnc Entries Dnc Bulk Post"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/dnc/bulk' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/DncBulkCreate"
    },
    {
      "method": "DELETE",
      "path": "/api/v2/agent/dnc/{entry_id}",
      "action_id": "delete_dnc_entry_dnc__entry_id__delete",
      "title": "Delete dnc entry dnc entry id delete",
      "purpose": "Remove the specified dnc record.",
      "category": "Do-not-contact",
      "required_scopes": [
        "dnc:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path entry_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "entry_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "string"
                  }
                ],
                "title": "Entry Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "entry_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "type": "null"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X DELETE 'https://api.synthcrew.io/api/v2/agent/dnc/{entry_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/drafts",
      "action_id": "list_drafts_drafts_get",
      "title": "List drafts drafts get",
      "purpose": "List the current drafts data available to this workspace.",
      "category": "Drafts",
      "required_scopes": [
        "drafts:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "minLength": 1,
                "maxLength": 32,
                "default": "pending",
                "title": "Status"
              },
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/drafts' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/drafts/{draft_id}/edit",
      "action_id": "edit_draft_drafts__draft_id__edit_post",
      "title": "Edit draft drafts draft id edit post",
      "purpose": "Create or submit drafts edit.",
      "category": "Drafts",
      "required_scopes": [
        "drafts:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path draft_id",
        "JSON request body matching #/components/schemas/EditRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "draft_id": {
                "type": "string",
                "format": "uuid",
                "title": "Draft Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "draft_id"
            ]
          },
          "body": {
            "properties": {
              "draft_text": {
                "type": "string",
                "maxLength": 16384,
                "minLength": 1,
                "title": "Draft Text"
              }
            },
            "type": "object",
            "required": [
              "draft_text"
            ],
            "title": "EditRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/drafts/{draft_id}/edit' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/EditRequest"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/templates",
      "action_id": "list_templates_templates_get",
      "title": "List templates templates get",
      "purpose": "List the current templates data available to this workspace.",
      "category": "Templates",
      "required_scopes": [
        "templates:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "items": {
            "items": {
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "title": "Id"
                },
                "workspace_id": {
                  "type": "string",
                  "title": "Workspace Id"
                },
                "name": {
                  "type": "string",
                  "title": "Name"
                },
                "subject": {
                  "type": "string",
                  "title": "Subject"
                },
                "body": {
                  "type": "string",
                  "title": "Body"
                },
                "category": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Category"
                },
                "created_by": {
                  "type": "string",
                  "title": "Created By"
                },
                "usage_count": {
                  "type": "integer",
                  "title": "Usage Count"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "title": "Created At"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time",
                  "title": "Updated At"
                },
                "variable_schema_version": {
                  "type": "integer",
                  "title": "Variable Schema Version",
                  "default": 1
                },
                "template_version": {
                  "type": "string",
                  "title": "Template Version",
                  "default": ""
                },
                "template_version_number": {
                  "type": "integer",
                  "title": "Template Version Number",
                  "default": 1
                },
                "variables": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "Variables"
                },
                "lint": {
                  "additionalProperties": true,
                  "type": "object",
                  "title": "Lint"
                },
                "governance_issues": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "Governance Issues"
                },
                "token_count": {
                  "type": "integer",
                  "title": "Token Count",
                  "default": 0
                },
                "lifecycle_state": {
                  "type": "string",
                  "title": "Lifecycle State",
                  "default": "draft"
                },
                "marketplace_publishable": {
                  "type": "boolean",
                  "title": "Marketplace Publishable",
                  "default": false
                }
              },
              "type": "object",
              "required": [
                "id",
                "workspace_id",
                "name",
                "subject",
                "body",
                "category",
                "created_by",
                "usage_count",
                "created_at",
                "updated_at"
              ],
              "title": "TemplateResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          }
        },
        "type": "object",
        "required": [
          "items",
          "limit"
        ],
        "title": "TemplateListResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/templates' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/templates",
      "action_id": "create_template_templates_post",
      "title": "Create template templates post",
      "purpose": "Create or submit templates.",
      "category": "Templates",
      "required_scopes": [
        "templates:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/TemplateCreate",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 200,
                "minLength": 1,
                "title": "Name"
              },
              "subject": {
                "type": "string",
                "maxLength": 500,
                "minLength": 1,
                "title": "Subject"
              },
              "body": {
                "type": "string",
                "minLength": 1,
                "title": "Body"
              },
              "category": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Category"
              },
              "variable_schema_version": {
                "type": "integer",
                "maximum": 1.0,
                "minimum": 1.0,
                "title": "Variable Schema Version",
                "default": 1
              }
            },
            "type": "object",
            "required": [
              "name",
              "subject",
              "body"
            ],
            "title": "TemplateCreate"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "subject": {
            "type": "string",
            "title": "Subject"
          },
          "body": {
            "type": "string",
            "title": "Body"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "created_by": {
            "type": "string",
            "title": "Created By"
          },
          "usage_count": {
            "type": "integer",
            "title": "Usage Count"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          },
          "variable_schema_version": {
            "type": "integer",
            "title": "Variable Schema Version",
            "default": 1
          },
          "template_version": {
            "type": "string",
            "title": "Template Version",
            "default": ""
          },
          "template_version_number": {
            "type": "integer",
            "title": "Template Version Number",
            "default": 1
          },
          "variables": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Variables"
          },
          "lint": {
            "additionalProperties": true,
            "type": "object",
            "title": "Lint"
          },
          "governance_issues": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Governance Issues"
          },
          "token_count": {
            "type": "integer",
            "title": "Token Count",
            "default": 0
          },
          "lifecycle_state": {
            "type": "string",
            "title": "Lifecycle State",
            "default": "draft"
          },
          "marketplace_publishable": {
            "type": "boolean",
            "title": "Marketplace Publishable",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id",
          "workspace_id",
          "name",
          "subject",
          "body",
          "category",
          "created_by",
          "usage_count",
          "created_at",
          "updated_at"
        ],
        "title": "TemplateResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/templates' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/TemplateCreate"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/templates/popular",
      "action_id": "popular_templates_templates_popular_get",
      "title": "Popular templates templates popular get",
      "purpose": "List the current templates popular data available to this workspace.",
      "category": "Templates",
      "required_scopes": [
        "templates:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "items": {
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "title": "Id"
            },
            "workspace_id": {
              "type": "string",
              "title": "Workspace Id"
            },
            "name": {
              "type": "string",
              "title": "Name"
            },
            "subject": {
              "type": "string",
              "title": "Subject"
            },
            "body": {
              "type": "string",
              "title": "Body"
            },
            "category": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Category"
            },
            "created_by": {
              "type": "string",
              "title": "Created By"
            },
            "usage_count": {
              "type": "integer",
              "title": "Usage Count"
            },
            "created_at": {
              "type": "string",
              "format": "date-time",
              "title": "Created At"
            },
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "title": "Updated At"
            }
          },
          "type": "object",
          "required": [
            "id",
            "workspace_id",
            "name",
            "subject",
            "body",
            "category",
            "created_by",
            "usage_count",
            "created_at",
            "updated_at"
          ],
          "title": "LegacyTemplateResponse"
        },
        "type": "array",
        "title": "Response Popular Templates Templates Popular Get"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/templates/popular' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/templates/{template_id}",
      "action_id": "get_template_templates__template_id__get",
      "title": "Get template templates template id get",
      "purpose": "Return the current templates record for the supplied identifier.",
      "category": "Templates",
      "required_scopes": [
        "templates:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path template_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "template_id": {
                "type": "string",
                "format": "uuid",
                "title": "Template Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "template_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "subject": {
            "type": "string",
            "title": "Subject"
          },
          "body": {
            "type": "string",
            "title": "Body"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "created_by": {
            "type": "string",
            "title": "Created By"
          },
          "usage_count": {
            "type": "integer",
            "title": "Usage Count"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          },
          "variable_schema_version": {
            "type": "integer",
            "title": "Variable Schema Version",
            "default": 1
          },
          "template_version": {
            "type": "string",
            "title": "Template Version",
            "default": ""
          },
          "template_version_number": {
            "type": "integer",
            "title": "Template Version Number",
            "default": 1
          },
          "variables": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Variables"
          },
          "lint": {
            "additionalProperties": true,
            "type": "object",
            "title": "Lint"
          },
          "governance_issues": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Governance Issues"
          },
          "token_count": {
            "type": "integer",
            "title": "Token Count",
            "default": 0
          },
          "lifecycle_state": {
            "type": "string",
            "title": "Lifecycle State",
            "default": "draft"
          },
          "marketplace_publishable": {
            "type": "boolean",
            "title": "Marketplace Publishable",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id",
          "workspace_id",
          "name",
          "subject",
          "body",
          "category",
          "created_by",
          "usage_count",
          "created_at",
          "updated_at"
        ],
        "title": "TemplateResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/templates/{template_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "PATCH",
      "path": "/api/v2/agent/templates/{template_id}",
      "action_id": "update_template_templates__template_id__patch",
      "title": "Update template templates template id patch",
      "purpose": "Update the specified templates record.",
      "category": "Templates",
      "required_scopes": [
        "templates:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path template_id",
        "JSON request body matching #/components/schemas/TemplateUpdate",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "template_id": {
                "type": "string",
                "format": "uuid",
                "title": "Template Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "template_id"
            ]
          },
          "body": {
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200,
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Name"
              },
              "subject": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 500,
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Subject"
              },
              "body": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Body"
              },
              "category": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Category"
              },
              "variable_schema_version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "maximum": 1.0,
                    "minimum": 1.0
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Variable Schema Version"
              }
            },
            "type": "object",
            "title": "TemplateUpdate"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "workspace_id": {
            "type": "string",
            "title": "Workspace Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "subject": {
            "type": "string",
            "title": "Subject"
          },
          "body": {
            "type": "string",
            "title": "Body"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "created_by": {
            "type": "string",
            "title": "Created By"
          },
          "usage_count": {
            "type": "integer",
            "title": "Usage Count"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          },
          "variable_schema_version": {
            "type": "integer",
            "title": "Variable Schema Version",
            "default": 1
          },
          "template_version": {
            "type": "string",
            "title": "Template Version",
            "default": ""
          },
          "template_version_number": {
            "type": "integer",
            "title": "Template Version Number",
            "default": 1
          },
          "variables": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Variables"
          },
          "lint": {
            "additionalProperties": true,
            "type": "object",
            "title": "Lint"
          },
          "governance_issues": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Governance Issues"
          },
          "token_count": {
            "type": "integer",
            "title": "Token Count",
            "default": 0
          },
          "lifecycle_state": {
            "type": "string",
            "title": "Lifecycle State",
            "default": "draft"
          },
          "marketplace_publishable": {
            "type": "boolean",
            "title": "Marketplace Publishable",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id",
          "workspace_id",
          "name",
          "subject",
          "body",
          "category",
          "created_by",
          "usage_count",
          "created_at",
          "updated_at"
        ],
        "title": "TemplateResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X PATCH 'https://api.synthcrew.io/api/v2/agent/templates/{template_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/TemplateUpdate"
    },
    {
      "method": "DELETE",
      "path": "/api/v2/agent/templates/{template_id}",
      "action_id": "delete_template_templates__template_id__delete",
      "title": "Delete template templates template id delete",
      "purpose": "Remove the specified templates record.",
      "category": "Templates",
      "required_scopes": [
        "templates:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path template_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "template_id": {
                "type": "string",
                "format": "uuid",
                "title": "Template Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "template_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "type": "null"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X DELETE 'https://api.synthcrew.io/api/v2/agent/templates/{template_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/leads/bulk",
      "action_id": "bulk_action_api_leads_bulk_post",
      "title": "Bulk action",
      "purpose": "Create or submit leads bulk.",
      "category": "Leads",
      "required_scopes": [
        "leads:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/BulkRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "delete",
                  "tag",
                  "untag",
                  "archive",
                  "unarchive",
                  "segment_assign",
                  "export"
                ],
                "title": "BulkAction"
              },
              "lead_ids": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 1000,
                "minItems": 1,
                "title": "Lead Ids"
              },
              "payload": {
                "anyOf": [
                  {
                    "additionalProperties": true,
                    "type": "object",
                    "maxProperties": 8
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Payload"
              }
            },
            "type": "object",
            "required": [
              "action",
              "lead_ids"
            ],
            "title": "BulkRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/leads/bulk' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/BulkRequest"
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/leads/import",
      "action_id": "import_leads_endpoint_api_leads_import_post",
      "title": "Import leads endpoint",
      "purpose": "Create or submit leads import.",
      "category": "Leads",
      "required_scopes": [
        "leads:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/LeadImportRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "rows": {
                "items": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "type": "array",
                "maxItems": 1000,
                "minItems": 1,
                "title": "Rows"
              },
              "workspace_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 64,
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Workspace Id"
              },
              "campaign_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Campaign Id"
              }
            },
            "type": "object",
            "required": [
              "rows"
            ],
            "title": "LeadImportRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "imported": {
            "type": "integer",
            "title": "Imported"
          },
          "errors": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Errors"
          },
          "workspace_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workspace Id"
          },
          "retention_delete_handoff": {
            "additionalProperties": true,
            "type": "object",
            "title": "Retention Delete Handoff"
          },
          "reservoir_upsert_handoff": {
            "additionalProperties": true,
            "type": "object",
            "title": "Reservoir Upsert Handoff"
          }
        },
        "type": "object",
        "required": [
          "imported",
          "errors"
        ],
        "title": "LeadImportResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/leads/import' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/LeadImportRequest"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/prospects",
      "action_id": "list_prospects_api_prospects_get",
      "title": "List prospects",
      "purpose": "List the current prospects data available to this workspace.",
      "category": "Prospects",
      "required_scopes": [
        "leads:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              },
              "campaign_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Campaign Id"
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 32
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Status"
              },
              "archived": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Archived"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "items": {
            "items": {
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "title": "Id"
                },
                "campaign_id": {
                  "type": "string",
                  "format": "uuid",
                  "title": "Campaign Id"
                },
                "tenant_id": {
                  "type": "string",
                  "title": "Tenant Id"
                },
                "name": {
                  "type": "string",
                  "title": "Name"
                },
                "company": {
                  "type": "string",
                  "title": "Company"
                },
                "domain": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Domain"
                },
                "status": {
                  "type": "string",
                  "title": "Status"
                },
                "primary_email": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Primary Email"
                }
              },
              "type": "object",
              "required": [
                "id",
                "campaign_id",
                "tenant_id",
                "name",
                "company",
                "domain",
                "status"
              ],
              "title": "ProspectResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          }
        },
        "type": "object",
        "required": [
          "items",
          "limit"
        ],
        "title": "ProspectListResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/prospects' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/prospects",
      "action_id": "create_prospect_api_prospects_post",
      "title": "Create prospect",
      "purpose": "Create or submit prospects.",
      "category": "Prospects",
      "required_scopes": [
        "leads:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/ProspectCreateRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 255,
                "minLength": 1,
                "title": "Name"
              },
              "company": {
                "type": "string",
                "maxLength": 255,
                "minLength": 1,
                "title": "Company"
              },
              "domain": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Domain"
              },
              "email": {
                "type": "string",
                "maxLength": 320,
                "title": "Email"
              },
              "campaign_id": {
                "type": "string",
                "format": "uuid",
                "title": "Campaign Id"
              }
            },
            "type": "object",
            "required": [
              "name",
              "company",
              "email",
              "campaign_id"
            ],
            "title": "ProspectCreateRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "campaign_id": {
            "type": "string",
            "format": "uuid",
            "title": "Campaign Id"
          },
          "tenant_id": {
            "type": "string",
            "title": "Tenant Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "company": {
            "type": "string",
            "title": "Company"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "primary_email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Primary Email"
          }
        },
        "type": "object",
        "required": [
          "id",
          "campaign_id",
          "tenant_id",
          "name",
          "company",
          "domain",
          "status"
        ],
        "title": "ProspectResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/prospects' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/ProspectCreateRequest"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/prospects/{prospect_id}",
      "action_id": "get_prospect_api_prospects__prospect_id__get",
      "title": "Get prospect",
      "purpose": "Return the current prospects record for the supplied identifier.",
      "category": "Prospects",
      "required_scopes": [
        "leads:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path prospect_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "prospect_id": {
                "type": "string",
                "format": "uuid",
                "title": "Prospect Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "prospect_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "campaign_id": {
            "type": "string",
            "format": "uuid",
            "title": "Campaign Id"
          },
          "tenant_id": {
            "type": "string",
            "title": "Tenant Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "company": {
            "type": "string",
            "title": "Company"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "primary_email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Primary Email"
          }
        },
        "type": "object",
        "required": [
          "id",
          "campaign_id",
          "tenant_id",
          "name",
          "company",
          "domain",
          "status"
        ],
        "title": "ProspectResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/prospects/{prospect_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "PATCH",
      "path": "/api/v2/agent/prospects/{prospect_id}",
      "action_id": "patch_prospect_api_prospects__prospect_id__patch",
      "title": "Patch prospect",
      "purpose": "Update the specified prospects record.",
      "category": "Prospects",
      "required_scopes": [
        "leads:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path prospect_id",
        "JSON request body matching #/components/schemas/ProspectPatchRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "prospect_id": {
                "type": "string",
                "format": "uuid",
                "title": "Prospect Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "prospect_id"
            ]
          },
          "body": {
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Name"
              },
              "company": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Company"
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Title"
              },
              "domain": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Domain"
              },
              "linkedin_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Linkedin Url"
              },
              "timezone": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 64
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Timezone"
              },
              "preferred_locale": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 8
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Preferred Locale"
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "new",
                      "researched",
                      "email_drafted",
                      "email_sent",
                      "replied",
                      "meeting_booked",
                      "converted",
                      "bounced",
                      "unsubscribed",
                      "disqualified"
                    ],
                    "title": "ProspectStatus"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "email": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 320
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Email"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "title": "ProspectPatchRequest",
            "description": "The deliberately bounded set of fields humans/agents may edit."
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "campaign_id": {
            "type": "string",
            "format": "uuid",
            "title": "Campaign Id"
          },
          "tenant_id": {
            "type": "string",
            "title": "Tenant Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "company": {
            "type": "string",
            "title": "Company"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "primary_email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Primary Email"
          }
        },
        "type": "object",
        "required": [
          "id",
          "campaign_id",
          "tenant_id",
          "name",
          "company",
          "domain",
          "status"
        ],
        "title": "ProspectResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X PATCH 'https://api.synthcrew.io/api/v2/agent/prospects/{prospect_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/ProspectPatchRequest"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/sequences",
      "action_id": "list_sequences_sequences_get",
      "title": "List sequences sequences get",
      "purpose": "List the current sequences data available to this workspace.",
      "category": "Sequences",
      "required_scopes": [
        "sequences:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "properties": {
          "items": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Items"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          }
        },
        "type": "object",
        "required": [
          "items",
          "limit"
        ],
        "title": "SequenceListResponse"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/sequences' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/sequences",
      "action_id": "create_sequence_sequences_post",
      "title": "Create sequence sequences post",
      "purpose": "Create or submit sequences.",
      "category": "Sequences",
      "required_scopes": [
        "sequences:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "JSON request body matching #/components/schemas/SequenceCreate",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "body": {
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 255,
                "minLength": 1,
                "title": "Name"
              },
              "campaign_id": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Campaign Id"
              },
              "max_steps": {
                "type": "integer",
                "maximum": 50.0,
                "minimum": 1.0,
                "title": "Max Steps",
                "default": 5
              }
            },
            "type": "object",
            "required": [
              "name"
            ],
            "title": "SequenceCreate"
          }
        },
        "additionalProperties": false,
        "required": [
          "body"
        ]
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/sequences' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/SequenceCreate"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/sequences/{sequence_id}",
      "action_id": "get_sequence_sequences__sequence_id__get",
      "title": "Get sequence sequences sequence id get",
      "purpose": "Return the current sequences record for the supplied identifier.",
      "category": "Sequences",
      "required_scopes": [
        "sequences:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path sequence_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "sequence_id": {
                "type": "string",
                "title": "Sequence Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "sequence_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/sequences/{sequence_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "PATCH",
      "path": "/api/v2/agent/sequences/{sequence_id}",
      "action_id": "update_sequence_sequences__sequence_id__patch",
      "title": "Update sequence sequences sequence id patch",
      "purpose": "Update the specified sequences record.",
      "category": "Sequences",
      "required_scopes": [
        "sequences:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path sequence_id",
        "JSON request body matching #/components/schemas/SequenceUpdate",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "sequence_id": {
                "type": "string",
                "title": "Sequence Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "sequence_id"
            ]
          },
          "body": {
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Name"
              }
            },
            "type": "object",
            "title": "SequenceUpdate"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X PATCH 'https://api.synthcrew.io/api/v2/agent/sequences/{sequence_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/SequenceUpdate"
    },
    {
      "method": "DELETE",
      "path": "/api/v2/agent/sequences/{sequence_id}",
      "action_id": "delete_sequence_sequences__sequence_id__delete",
      "title": "Delete sequence sequences sequence id delete",
      "purpose": "Remove the specified sequences record.",
      "category": "Sequences",
      "required_scopes": [
        "sequences:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path sequence_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "sequence_id": {
                "type": "string",
                "title": "Sequence Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "sequence_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "type": "null"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X DELETE 'https://api.synthcrew.io/api/v2/agent/sequences/{sequence_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/sequences/{sequence_id}/steps",
      "action_id": "create_sequence_step_sequences__sequence_id__steps_post",
      "title": "Create sequence step sequences sequence id steps post",
      "purpose": "Create or submit sequences steps.",
      "category": "Sequences",
      "required_scopes": [
        "sequences:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path sequence_id",
        "JSON request body matching #/components/schemas/SequenceStepCreate",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "sequence_id": {
                "type": "string",
                "title": "Sequence Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "sequence_id"
            ]
          },
          "body": {
            "properties": {
              "step_number": {
                "type": "integer",
                "maximum": 50.0,
                "minimum": 1.0,
                "title": "Step Number"
              },
              "step_type": {
                "type": "string",
                "maxLength": 32,
                "minLength": 1,
                "title": "Step Type",
                "default": "email"
              },
              "delay_days": {
                "type": "integer",
                "maximum": 3650.0,
                "minimum": 0.0,
                "title": "Delay Days",
                "default": 3
              },
              "subject_template": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Subject Template"
              },
              "body_template": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Body Template"
              },
              "instruction_template": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Instruction Template"
              },
              "variable_schema_version": {
                "type": "integer",
                "maximum": 1.0,
                "minimum": 1.0,
                "title": "Variable Schema Version",
                "default": 1
              }
            },
            "type": "object",
            "required": [
              "step_number"
            ],
            "title": "SequenceStepCreate"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/sequences/{sequence_id}/steps' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/SequenceStepCreate"
    },
    {
      "method": "PATCH",
      "path": "/api/v2/agent/sequences/{sequence_id}/steps/{step_id}",
      "action_id": "update_sequence_step_sequences__sequence_id__steps__step_id__patch",
      "title": "Update sequence step sequences sequence id steps step id patch",
      "purpose": "Update the specified sequences steps record.",
      "category": "Sequences",
      "required_scopes": [
        "sequences:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path sequence_id",
        "path step_id",
        "JSON request body matching #/components/schemas/SequenceStepUpdate",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "sequence_id": {
                "type": "string",
                "title": "Sequence Id"
              },
              "step_id": {
                "type": "string",
                "title": "Step Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "sequence_id",
              "step_id"
            ]
          },
          "body": {
            "properties": {
              "step_number": {
                "anyOf": [
                  {
                    "type": "integer",
                    "maximum": 50.0,
                    "minimum": 1.0
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Step Number"
              },
              "step_type": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 32,
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Step Type"
              },
              "delay_days": {
                "anyOf": [
                  {
                    "type": "integer",
                    "maximum": 3650.0,
                    "minimum": 0.0
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Delay Days"
              },
              "subject_template": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Subject Template"
              },
              "body_template": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Body Template"
              },
              "instruction_template": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Instruction Template"
              },
              "variable_schema_version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "maximum": 1.0,
                    "minimum": 1.0
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Variable Schema Version"
              }
            },
            "type": "object",
            "title": "SequenceStepUpdate"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X PATCH 'https://api.synthcrew.io/api/v2/agent/sequences/{sequence_id}/steps/{step_id}' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/SequenceStepUpdate"
    },
    {
      "method": "PUT",
      "path": "/api/v2/agent/sequences/{sequence_id}/layout",
      "action_id": "replace_layout_sequences__sequence_id__layout_put",
      "title": "Replace layout sequences sequence id layout put",
      "purpose": "Update the specified sequences layout record.",
      "category": "Sequences",
      "required_scopes": [
        "sequences:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path sequence_id",
        "JSON request body matching #/components/schemas/LayoutPayload",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "sequence_id": {
                "type": "string",
                "title": "Sequence Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "sequence_id"
            ]
          },
          "body": {
            "properties": {
              "nodes": {
                "items": {
                  "properties": {
                    "id": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 64
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Id"
                    },
                    "step_id": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 64
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Step Id"
                    },
                    "node_type": {
                      "type": "string",
                      "maxLength": 32,
                      "title": "Node Type",
                      "default": "step"
                    },
                    "position_x": {
                      "type": "number",
                      "title": "Position X",
                      "default": 0.0
                    },
                    "position_y": {
                      "type": "number",
                      "title": "Position Y",
                      "default": 0.0
                    },
                    "label": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 255
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Label"
                    }
                  },
                  "type": "object",
                  "title": "NodeIn"
                },
                "type": "array",
                "maxItems": 200,
                "title": "Nodes"
              },
              "edges": {
                "items": {
                  "properties": {
                    "id": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 64
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Id"
                    },
                    "source_node_id": {
                      "type": "string",
                      "maxLength": 64,
                      "title": "Source Node Id"
                    },
                    "target_node_id": {
                      "type": "string",
                      "maxLength": 64,
                      "title": "Target Node Id"
                    },
                    "delay_days": {
                      "type": "integer",
                      "title": "Delay Days",
                      "default": 3
                    },
                    "label": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 64
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "title": "Label"
                    }
                  },
                  "type": "object",
                  "required": [
                    "source_node_id",
                    "target_node_id"
                  ],
                  "title": "EdgeIn"
                },
                "type": "array",
                "maxItems": 400,
                "title": "Edges"
              }
            },
            "type": "object",
            "title": "LayoutPayload"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {},
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X PUT 'https://api.synthcrew.io/api/v2/agent/sequences/{sequence_id}/layout' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  --data @request.json",
      "request_schema": "#/components/schemas/LayoutPayload"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/leads/archived",
      "action_id": "list_archived_leads_api_leads_archived_get",
      "title": "List archived leads",
      "purpose": "List the current leads archived data available to this workspace.",
      "category": "Leads",
      "required_scopes": [
        "leads:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "skip": {
                "type": "integer",
                "maximum": 100000,
                "minimum": 0,
                "default": 0,
                "title": "Skip"
              },
              "limit": {
                "type": "integer",
                "maximum": 200,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "campaign_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Campaign Id"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "type": "array",
        "items": {
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "title": "Id"
            },
            "name": {
              "type": "string",
              "title": "Name"
            },
            "company": {
              "type": "string",
              "title": "Company"
            },
            "email_count": {
              "type": "integer",
              "title": "Email Count"
            },
            "status": {
              "type": "string",
              "title": "Status"
            },
            "campaign_id": {
              "type": "string",
              "format": "uuid",
              "title": "Campaign Id"
            },
            "archived": {
              "type": "boolean",
              "title": "Archived"
            }
          },
          "type": "object",
          "required": [
            "id",
            "name",
            "company",
            "email_count",
            "status",
            "campaign_id",
            "archived"
          ],
          "title": "ProspectOut"
        },
        "title": "Response List Archived Leads Api Leads Archived Get"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/leads/archived' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "POST",
      "path": "/api/v2/agent/leads/{prospect_id}/restore",
      "action_id": "restore_lead_api_leads__prospect_id__restore_post",
      "title": "Restore lead",
      "purpose": "Create or submit leads restore.",
      "category": "Leads",
      "required_scopes": [
        "leads:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path prospect_id",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "Changes persisted SynthCrew workspace state; it must be called idempotently.",
      "human_step": "No simultaneous human session is required; stop when the response reports approval_required.",
      "when_to_use": "Use after a current read confirms the target and the agent has prepared replay-safe action headers.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the changed resource or receipt to confirm the result.",
        "Do not repeat the mutation with a new idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "prospect_id": {
                "type": "string",
                "format": "uuid",
                "title": "Prospect Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "prospect_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "company": {
            "type": "string",
            "title": "Company"
          },
          "email_count": {
            "type": "integer",
            "title": "Email Count"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "campaign_id": {
            "type": "string",
            "format": "uuid",
            "title": "Campaign Id"
          },
          "archived": {
            "type": "boolean",
            "title": "Archived"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "company",
          "email_count",
          "status",
          "campaign_id",
          "archived"
        ],
        "title": "ProspectOut"
      },
      "execution_mode": "real_domain_action",
      "effect": "workspace_write",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X POST 'https://api.synthcrew.io/api/v2/agent/leads/{prospect_id}/restore' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\" \\\n  -H \"Idempotency-Key: $SYNTHCREW_IDEMPOTENCY_KEY\" \\\n  -H \"X-Agent-Run-Id: $SYNTHCREW_RUN_ID\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/mailboxes/health/summary",
      "action_id": "workspace_health_summary_mailboxes_health_summary_get",
      "title": "Workspace health summary mailboxes health summary get",
      "purpose": "List the current health summary data available to this workspace.",
      "category": "Mailboxes",
      "required_scopes": [
        "mailboxes:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "additionalProperties": true,
        "type": "object",
        "title": "Response Workspace Health Summary Mailboxes Health Summary Get"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/mailboxes/health/summary' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/mailboxes/{mailbox_id}/warmup",
      "action_id": "mailbox_warmup_state_mailboxes__mailbox_id__warmup_get",
      "title": "Mailbox warmup state mailboxes mailbox id warmup get",
      "purpose": "Return the current mailboxes warmup record for the supplied identifier.",
      "category": "Mailboxes",
      "required_scopes": [
        "warmup:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path mailbox_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "mailbox_id": {
                "type": "string",
                "format": "uuid",
                "title": "Mailbox Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "mailbox_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Response Mailbox Warmup State Mailboxes  Mailbox Id  Warmup Get"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/mailboxes/{mailbox_id}/warmup' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "PATCH",
      "path": "/api/v2/agent/mailboxes/{mailbox_id}/warmup",
      "action_id": "update_mailbox_warmup_mailboxes__mailbox_id__warmup_patch",
      "title": "Update mailbox warmup mailboxes mailbox id warmup patch",
      "purpose": "Update the specified mailboxes warmup record.",
      "category": "Mailboxes",
      "required_scopes": [
        "warmup:write"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path mailbox_id",
        "JSON request body matching #/components/schemas/WarmupTransitionRequest",
        "Idempotency-Key",
        "X-Agent-Run-Id"
      ],
      "side_effect": "May contact an external provider or change provider-backed delivery state.",
      "human_step": "Confirm readiness and any approval returned by the API before allowing the provider call.",
      "when_to_use": "Use only after reading readiness, confirming the human boundary, and preparing an idempotent retry key.",
      "success_signal": "A documented 2xx response returns the changed resource or durable receipt; read it back before continuing.",
      "next_actions": [
        "Read the returned operation or receipt until it reaches a terminal state.",
        "Retry only a documented retryable failure with the same idempotency key."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "mailbox_id": {
                "type": "string",
                "format": "uuid",
                "title": "Mailbox Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "mailbox_id"
            ]
          },
          "header": {
            "type": "object",
            "properties": {
              "Idempotency-Key": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Idempotency-Key"
              }
            },
            "additionalProperties": false
          },
          "body": {
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "enable",
                  "pause",
                  "resume"
                ],
                "title": "Action"
              }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
              "action"
            ],
            "title": "WarmupTransitionRequest"
          }
        },
        "additionalProperties": false,
        "required": [
          "body",
          "path"
        ]
      },
      "output_schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Response Update Mailbox Warmup Mailboxes  Mailbox Id  Warmup Patch"
      },
      "execution_mode": "real_domain_action",
      "effect": "provider_call",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Reuse the exact Idempotency-Key and X-Agent-Run-Id."
      },
      "provider_impact": true,
      "example": null,
      "example_omitted_reason": "Provider-impacting actions require a verified workflow approval; use the workflow runtime.",
      "request_schema": "#/components/schemas/WarmupTransitionRequest"
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/mailboxes/{mailbox_id}/warmup/events",
      "action_id": "mailbox_warmup_events_mailboxes__mailbox_id__warmup_events_get",
      "title": "Mailbox warmup events mailboxes mailbox id warmup events get",
      "purpose": "Return the current warmup events record for the supplied identifier.",
      "category": "Mailboxes",
      "required_scopes": [
        "warmup:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path mailbox_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "mailbox_id": {
                "type": "string",
                "format": "uuid",
                "title": "Mailbox Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "mailbox_id"
            ]
          },
          "query": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1,
                "default": 50,
                "title": "Limit"
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Cursor"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Response Mailbox Warmup Events Mailboxes  Mailbox Id  Warmup Events Get"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/mailboxes/{mailbox_id}/warmup/events' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/mailboxes/{mailbox_id}/health",
      "action_id": "mailbox_health_mailboxes__mailbox_id__health_get",
      "title": "Mailbox health mailboxes mailbox id health get",
      "purpose": "Return the current mailboxes health record for the supplied identifier.",
      "category": "Mailboxes",
      "required_scopes": [
        "mailboxes:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path mailbox_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "mailbox_id": {
                "type": "string",
                "format": "uuid",
                "title": "Mailbox Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "mailbox_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "properties": {
          "mailbox_id": {
            "type": "string",
            "format": "uuid",
            "title": "Mailbox Id"
          },
          "email": {
            "type": "string",
            "title": "Email"
          },
          "warmup_score": {
            "type": "number",
            "title": "Warmup Score"
          },
          "deliverability_score": {
            "type": "number",
            "title": "Deliverability Score"
          },
          "engagement_score": {
            "type": "number",
            "title": "Engagement Score"
          },
          "capacity_score": {
            "type": "number",
            "title": "Capacity Score"
          },
          "composite": {
            "type": "number",
            "title": "Composite"
          },
          "grade": {
            "type": "string",
            "title": "Grade"
          },
          "is_healthy": {
            "type": "boolean",
            "title": "Is Healthy"
          },
          "bounce_rate": {
            "type": "number",
            "title": "Bounce Rate",
            "default": 0.0
          },
          "complaint_rate": {
            "type": "number",
            "title": "Complaint Rate",
            "default": 0.0
          },
          "cooldown_until": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cooldown Until"
          },
          "eligibility_reason": {
            "type": "string",
            "title": "Eligibility Reason",
            "default": "eligible"
          },
          "health_status": {
            "type": "string",
            "title": "Health Status",
            "default": "unknown"
          },
          "progression_stage": {
            "type": "string",
            "title": "Progression Stage",
            "default": "new"
          },
          "reserved_sends": {
            "type": "integer",
            "title": "Reserved Sends",
            "default": 0
          },
          "effective_sends_today": {
            "type": "integer",
            "title": "Effective Sends Today",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "mailbox_id",
          "email",
          "warmup_score",
          "deliverability_score",
          "engagement_score",
          "capacity_score",
          "composite",
          "grade",
          "is_healthy"
        ],
        "title": "MailboxHealthScore"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/mailboxes/{mailbox_id}/health' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    },
    {
      "method": "GET",
      "path": "/api/v2/agent/mailboxes/{mailbox_id}/deliverability/snapshot",
      "action_id": "mailbox_deliverability_snapshot_mailboxes__mailbox_id__deliverability_snapshot_get",
      "title": "Mailbox deliverability snapshot mailboxes mailbox id deliverability snapshot get",
      "purpose": "Return the current deliverability snapshot record for the supplied identifier.",
      "category": "Mailboxes",
      "required_scopes": [
        "mailboxes:read"
      ],
      "required_headers": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY"
      ],
      "required_inputs": [
        "Authorization: Bearer $SYNTHCREW_AGENT_KEY",
        "path mailbox_id"
      ],
      "side_effect": "None. This route reads SynthCrew state only.",
      "human_step": "None.",
      "when_to_use": "Use this when the agent needs fresh workspace facts before choosing a next action.",
      "success_signal": "A documented 2xx response is parsed successfully; omitted fields remain unknown.",
      "next_actions": [
        "Use returned identifiers and status fields; do not invent missing values.",
        "Follow a route from the live manifest for the next task."
      ],
      "input_schema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "object",
            "properties": {
              "mailbox_id": {
                "type": "string",
                "format": "uuid",
                "title": "Mailbox Id"
              }
            },
            "additionalProperties": false,
            "required": [
              "mailbox_id"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "path"
        ]
      },
      "output_schema": {
        "type": "object",
        "additionalProperties": true,
        "title": "Response Mailbox Deliverability Snapshot Mailboxes  Mailbox Id  Deliverability Snapshot Get"
      },
      "execution_mode": "real_domain_action",
      "effect": "read_only",
      "access_mode": "agent_key",
      "approval_mode": "none",
      "retry_policy": {
        "safe": true,
        "rule": "Retry reads with bounded backoff."
      },
      "provider_impact": false,
      "example": "curl --fail-with-body -X GET 'https://api.synthcrew.io/api/v2/agent/mailboxes/{mailbox_id}/deliverability/snapshot' \\\n  -H \"Authorization: Bearer $SYNTHCREW_AGENT_KEY\" \\\n  -H \"X-API-Version: 2\""
    }
  ]
}
