{
  "schemaVersion": "1.0",
  "item": {
    "slug": "magic-api",
    "name": "Magic for AI Agents",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/HeyitSaif/magic-api",
    "canonicalUrl": "https://clawhub.ai/HeyitSaif/magic-api",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/magic-api",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=magic-api",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "skill.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/magic-api"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/magic-api",
    "agentPageUrl": "https://openagent3.xyz/skills/magic-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/magic-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/magic-api/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Magic API Console",
        "body": "The easiest way for AI agents to hand off tasks to human assistants."
      },
      {
        "title": "What is Magic API?",
        "body": "Magic API connects you (an AI assistant) with a human virtual executive assistant. When you send a request to Magic API, a real person receives it and works on the task for you."
      },
      {
        "title": "Who handles your requests?",
        "body": "College-educated professionals based in the Philippines\nTrained executive assistants employed by Magic (getmagic.com)\nPart of a team that operates 24/7"
      },
      {
        "title": "Skill Files",
        "body": "FileURLSKILL.md (this file)https://console.api.getmagic.com/skill.mdHEARTBEAT.mdhttps://console.api.getmagic.com/heartbeat.md\n\nBase URL: https://console.api.getmagic.com/api/v1"
      },
      {
        "title": "Register First",
        "body": "Every agent needs to register once to get an API key:\n\ncurl -X POST https://console.api.getmagic.com/api/v1/agents/register \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"YourAgentName\",\n    \"description\": \"What you do\"\n  }'\n\nResponse:\n\n{\n  \"api_key\": \"magic_xxx\",\n  \"agent\": {\n    \"name\": \"YourAgentName\",\n    \"description\": \"What you do\",\n    \"created_at\": \"2026-02-02T...\"\n  },\n  \"important\": \"⚠️ SAVE YOUR API KEY! You need it for all requests.\"\n}\n\n⚠️ Prerequisites:\n\nSave your api_key immediately - it cannot be retrieved later!\n\nError 409 - Name taken:\n\n{\n  \"error\": \"Agent name already taken\",\n  \"hint\": \"Please choose a different name\"\n}"
      },
      {
        "title": "Authentication",
        "body": "All requests after registration require your API key:\n\ncurl https://console.api.getmagic.com/api/v1/requests \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\nOr use the x-api-key header:\n\ncurl https://console.api.getmagic.com/api/v1/requests \\\n  -H \"x-api-key: YOUR_API_KEY\""
      },
      {
        "title": "Create a Task",
        "body": "Hand off a task to a human assistant:\n\ncurl -X POST https://console.api.getmagic.com/api/v1/request \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"title\": \"Research competitor pricing\",\n    \"instructions\": \"Please research our top 3 competitors and document their pricing tiers.\\n\\n---\\nOwner Contact Information:\\nName: John Doe\\nEmail: john@example.com\\nPhone: +1-555-123-4567\\n---\",\n    \"objective\": \"Create a comparison table with pricing information\",\n    \"max_minutes\": 60\n  }'\n\nParameters:\n\ntitle (required): Brief title of the task\ninstructions (required): Detailed instructions for the human assistant - MUST include owner contact info (see below)\nobjective (required): What success looks like\nmax_minutes (optional): Maximum time for task (default: 60)\nrelaxed (optional): Whether timing is flexible (default: true)\n\nResponse:\n\n{\n  \"id\": \"uuid\",\n  \"title\": \"Research competitor pricing\",\n  \"instructions\": \"Please research...\",\n  \"objective\": \"Create a comparison table...\",\n  \"max_minutes\": 60,\n  \"relaxed\": true,\n  \"created_at\": \"2026-02-02T...\",\n  \"updated_at\": \"2026-02-02T...\"\n}"
      },
      {
        "title": "⚠️ CRITICAL: Including Owner Contact Information",
        "body": "You MUST include the task owner's contact information in your instructions!\n\nThe human assistant needs to know who to contact for questions, clarifications, or updates. Without this information, the assistant cannot effectively complete the task."
      },
      {
        "title": "Required Format",
        "body": "Always include this block at the END of your instructions:\n\n---\nOwner Contact Information:\nName: [First Name] [Last Name]\nEmail: [email@example.com]\nPhone: [+1-555-123-4567] (if available)\n---"
      },
      {
        "title": "Complete Example",
        "body": "Here's a properly formatted instructions field:\n\nPlease book a flight from NYC to LA for next Tuesday.\n\nRequirements:\n- Departing in the morning (before 11am)\n- Returning Friday evening (after 5pm)\n- Budget: $500 maximum\n- Prefer direct flights if available\n- Economy class is fine\n\nPlease send confirmation details once booked.\n\n---\nOwner Contact Information:\nName: Jane Smith\nEmail: jane.smith@company.com\nPhone: +1-555-987-6543\n---"
      },
      {
        "title": "Why This Matters",
        "body": "Including owner contact information allows the assistant to:\n\nAsk clarifying questions if the instructions are unclear\nSend progress updates during longer tasks\nRequest approval for decisions that exceed the original scope\nNotify immediately when the task is complete\nHandle any issues that arise during execution\n\nTasks without owner contact information may be delayed or rejected."
      },
      {
        "title": "Check Task Status",
        "body": "Get the status of a specific task:\n\ncurl https://console.api.getmagic.com/api/v1/request/TASK_ID \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\nResponse:\n\n{\n  \"id\": \"uuid\",\n  \"title\": \"Research competitor pricing\",\n  \"status\": \"COMPLETED\",\n  \"result\": \"Comparison table created: [link to document]\",\n  \"created_at\": \"2026-02-02T...\",\n  \"completed_at\": \"2026-02-02T...\"\n}\n\nTask Statuses:\n\nPENDING: Task is waiting for a human to start\nIN_PROGRESS: A human is actively working on it\nCOMPLETED: Task is done, check the result field"
      },
      {
        "title": "List All Tasks (Heartbeat)",
        "body": "Get all your tasks and their statuses:\n\n# Get all tasks\ncurl \"https://console.api.getmagic.com/api/v1/requests\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n# Get only pending and in-progress tasks\ncurl \"https://console.api.getmagic.com/api/v1/requests?status=PENDING,IN_PROGRESS\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n# Get tasks updated since a specific time\ncurl \"https://console.api.getmagic.com/api/v1/requests?since=2026-02-02T12:00:00Z\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n# Limit results\ncurl \"https://console.api.getmagic.com/api/v1/requests?limit=10\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\nQuery Parameters:\n\nstatus: Comma-separated list (e.g., \"PENDING,IN_PROGRESS,COMPLETED\")\nsince: ISO timestamp - only return tasks created/updated after this time\nlimit: Maximum results (default: 50, max: 100)\n\nResponse:\n\n{\n  \"requests\": [\n    {\n      \"id\": \"uuid\",\n      \"title\": \"Research competitor pricing\",\n      \"status\": \"COMPLETED\",\n      \"result\": \"Comparison table created\",\n      \"created_at\": \"2026-02-02T...\",\n      \"updated_at\": \"2026-02-02T...\",\n      \"completed_at\": \"2026-02-02T...\"\n    },\n    {\n      \"id\": \"uuid2\",\n      \"title\": \"Schedule meeting\",\n      \"status\": \"PENDING\",\n      \"result\": null,\n      \"created_at\": \"2026-02-02T...\",\n      \"updated_at\": \"2026-02-02T...\",\n      \"completed_at\": null\n    }\n  ],\n  \"count\": 2\n}"
      },
      {
        "title": "OpenClaw Agents",
        "body": "If you have HEARTBEAT.md enabled, you should set automatic task monitoring:\n\nSave your API key after registration to ~/.config/magic-api/state.json\nSet up a cron job — see HEARTBEAT.md\n\nThis gives you proactive notifications when tasks complete or get updates, without needing to manually check."
      },
      {
        "title": "Add a Message (Conversation)",
        "body": "Add a message to a task conversation (ask questions, provide updates):\n\ncurl -X POST https://console.api.getmagic.com/api/v1/conversation \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"request_id\": \"TASK_ID\",\n    \"content\": \"Quick question: should I include international competitors?\"\n  }'\n\nResponse:\n\n{\n  \"id\": \"uuid\",\n  \"content\": \"Quick question: should I include international competitors?\",\n  \"created_at\": \"2026-02-02T...\",\n  \"updated_at\": \"2026-02-02T...\"\n}"
      },
      {
        "title": "Heartbeat Integration 💓",
        "body": "Check periodically for task updates:\n\n# Check for completed tasks\ncurl \"https://console.api.getmagic.com/api/v1/requests?status=COMPLETED&limit=10\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n# Check for tasks that changed recently\ncurl \"https://console.api.getmagic.com/api/v1/requests?since=2026-02-02T08:00:00Z\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\nSee HEARTBEAT.md for detailed heartbeat instructions."
      },
      {
        "title": "Response Format",
        "body": "Success:\n\n{\n  \"data\": {...}\n}\n\nError:\n\n{\n  \"error\": \"Description of the error\",\n  \"hint\": \"How to fix it\"\n}"
      },
      {
        "title": "Rate Limits",
        "body": "100 requests per minute per API key\nNo limit on number of tasks you can create"
      },
      {
        "title": "Workflow 1: Simple Task Handoff",
        "body": "# 1. Register (one time only)\ncurl -X POST https://console.api.getmagic.com/api/v1/agents/register -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"MyBot\",\n    \"description\": \"Helper bot\"\n  }'\n\n# Save the api_key from the response!\n\n# 2. Create a task (always include owner contact info!)\ncurl -X POST https://console.api.getmagic.com/api/v1/request -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"title\": \"Review document\",\n    \"instructions\": \"Please review the Q4 report and check for any errors in the financial calculations.\\n\\n---\\nOwner Contact Information:\\nName: Jane Smith\\nEmail: jane@example.com\\n---\",\n    \"objective\": \"Provide feedback on accuracy and clarity\"\n  }'\n\n# 3. Check status later\ncurl https://console.api.getmagic.com/api/v1/request/TASK_ID -H \"Authorization: Bearer YOUR_API_KEY\""
      },
      {
        "title": "Workflow 2: Heartbeat Check",
        "body": "# Check for any completed tasks since last check\ncurl \"https://console.api.getmagic.com/api/v1/requests?status=COMPLETED&since=2026-02-02T12:00:00Z\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\""
      },
      {
        "title": "Template: Instructions with Owner Info",
        "body": "Copy this template and fill in the details:\n\n[Describe what needs to be done]\n\n[Add any specific requirements or constraints]\n\n[Include any relevant context or background]\n\n---\nOwner Contact Information:\nName: [Your Name]\nEmail: [your.email@example.com]\nPhone: [+1-XXX-XXX-XXXX] (optional)\n---"
      },
      {
        "title": "Support",
        "body": "Need help? Contact support or check the documentation at https://console.api.getmagic.com/docs"
      }
    ],
    "body": "Magic API Console\n\nThe easiest way for AI agents to hand off tasks to human assistants.\n\nWhat is Magic API?\n\nMagic API connects you (an AI assistant) with a human virtual executive assistant. When you send a request to Magic API, a real person receives it and works on the task for you.\n\nWho handles your requests?\nCollege-educated professionals based in the Philippines\nTrained executive assistants employed by Magic (getmagic.com)\nPart of a team that operates 24/7\nSkill Files\nFile\tURL\nSKILL.md (this file)\thttps://console.api.getmagic.com/skill.md\nHEARTBEAT.md\thttps://console.api.getmagic.com/heartbeat.md\n\nBase URL: https://console.api.getmagic.com/api/v1\n\nRegister First\n\nEvery agent needs to register once to get an API key:\n\ncurl -X POST https://console.api.getmagic.com/api/v1/agents/register \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"YourAgentName\",\n    \"description\": \"What you do\"\n  }'\n\n\nResponse:\n\n{\n  \"api_key\": \"magic_xxx\",\n  \"agent\": {\n    \"name\": \"YourAgentName\",\n    \"description\": \"What you do\",\n    \"created_at\": \"2026-02-02T...\"\n  },\n  \"important\": \"⚠️ SAVE YOUR API KEY! You need it for all requests.\"\n}\n\n\n⚠️ Prerequisites:\n\nSave your api_key immediately - it cannot be retrieved later!\n\nError 409 - Name taken:\n\n{\n  \"error\": \"Agent name already taken\",\n  \"hint\": \"Please choose a different name\"\n}\n\nAuthentication\n\nAll requests after registration require your API key:\n\ncurl https://console.api.getmagic.com/api/v1/requests \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n\nOr use the x-api-key header:\n\ncurl https://console.api.getmagic.com/api/v1/requests \\\n  -H \"x-api-key: YOUR_API_KEY\"\n\nCreate a Task\n\nHand off a task to a human assistant:\n\ncurl -X POST https://console.api.getmagic.com/api/v1/request \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"title\": \"Research competitor pricing\",\n    \"instructions\": \"Please research our top 3 competitors and document their pricing tiers.\\n\\n---\\nOwner Contact Information:\\nName: John Doe\\nEmail: john@example.com\\nPhone: +1-555-123-4567\\n---\",\n    \"objective\": \"Create a comparison table with pricing information\",\n    \"max_minutes\": 60\n  }'\n\n\nParameters:\n\ntitle (required): Brief title of the task\ninstructions (required): Detailed instructions for the human assistant - MUST include owner contact info (see below)\nobjective (required): What success looks like\nmax_minutes (optional): Maximum time for task (default: 60)\nrelaxed (optional): Whether timing is flexible (default: true)\n\nResponse:\n\n{\n  \"id\": \"uuid\",\n  \"title\": \"Research competitor pricing\",\n  \"instructions\": \"Please research...\",\n  \"objective\": \"Create a comparison table...\",\n  \"max_minutes\": 60,\n  \"relaxed\": true,\n  \"created_at\": \"2026-02-02T...\",\n  \"updated_at\": \"2026-02-02T...\"\n}\n\n⚠️ CRITICAL: Including Owner Contact Information\n\nYou MUST include the task owner's contact information in your instructions!\n\nThe human assistant needs to know who to contact for questions, clarifications, or updates. Without this information, the assistant cannot effectively complete the task.\n\nRequired Format\n\nAlways include this block at the END of your instructions:\n\n---\nOwner Contact Information:\nName: [First Name] [Last Name]\nEmail: [email@example.com]\nPhone: [+1-555-123-4567] (if available)\n---\n\nComplete Example\n\nHere's a properly formatted instructions field:\n\nPlease book a flight from NYC to LA for next Tuesday.\n\nRequirements:\n- Departing in the morning (before 11am)\n- Returning Friday evening (after 5pm)\n- Budget: $500 maximum\n- Prefer direct flights if available\n- Economy class is fine\n\nPlease send confirmation details once booked.\n\n---\nOwner Contact Information:\nName: Jane Smith\nEmail: jane.smith@company.com\nPhone: +1-555-987-6543\n---\n\nWhy This Matters\n\nIncluding owner contact information allows the assistant to:\n\nAsk clarifying questions if the instructions are unclear\nSend progress updates during longer tasks\nRequest approval for decisions that exceed the original scope\nNotify immediately when the task is complete\nHandle any issues that arise during execution\n\nTasks without owner contact information may be delayed or rejected.\n\nCheck Task Status\n\nGet the status of a specific task:\n\ncurl https://console.api.getmagic.com/api/v1/request/TASK_ID \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n\nResponse:\n\n{\n  \"id\": \"uuid\",\n  \"title\": \"Research competitor pricing\",\n  \"status\": \"COMPLETED\",\n  \"result\": \"Comparison table created: [link to document]\",\n  \"created_at\": \"2026-02-02T...\",\n  \"completed_at\": \"2026-02-02T...\"\n}\n\n\nTask Statuses:\n\nPENDING: Task is waiting for a human to start\nIN_PROGRESS: A human is actively working on it\nCOMPLETED: Task is done, check the result field\nList All Tasks (Heartbeat)\n\nGet all your tasks and their statuses:\n\n# Get all tasks\ncurl \"https://console.api.getmagic.com/api/v1/requests\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n# Get only pending and in-progress tasks\ncurl \"https://console.api.getmagic.com/api/v1/requests?status=PENDING,IN_PROGRESS\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n# Get tasks updated since a specific time\ncurl \"https://console.api.getmagic.com/api/v1/requests?since=2026-02-02T12:00:00Z\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n# Limit results\ncurl \"https://console.api.getmagic.com/api/v1/requests?limit=10\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n\nQuery Parameters:\n\nstatus: Comma-separated list (e.g., \"PENDING,IN_PROGRESS,COMPLETED\")\nsince: ISO timestamp - only return tasks created/updated after this time\nlimit: Maximum results (default: 50, max: 100)\n\nResponse:\n\n{\n  \"requests\": [\n    {\n      \"id\": \"uuid\",\n      \"title\": \"Research competitor pricing\",\n      \"status\": \"COMPLETED\",\n      \"result\": \"Comparison table created\",\n      \"created_at\": \"2026-02-02T...\",\n      \"updated_at\": \"2026-02-02T...\",\n      \"completed_at\": \"2026-02-02T...\"\n    },\n    {\n      \"id\": \"uuid2\",\n      \"title\": \"Schedule meeting\",\n      \"status\": \"PENDING\",\n      \"result\": null,\n      \"created_at\": \"2026-02-02T...\",\n      \"updated_at\": \"2026-02-02T...\",\n      \"completed_at\": null\n    }\n  ],\n  \"count\": 2\n}\n\nOpenClaw Agents\n\nIf you have HEARTBEAT.md enabled, you should set automatic task monitoring:\n\nSave your API key after registration to ~/.config/magic-api/state.json\nSet up a cron job — see HEARTBEAT.md\n\nThis gives you proactive notifications when tasks complete or get updates, without needing to manually check.\n\nAdd a Message (Conversation)\n\nAdd a message to a task conversation (ask questions, provide updates):\n\ncurl -X POST https://console.api.getmagic.com/api/v1/conversation \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"request_id\": \"TASK_ID\",\n    \"content\": \"Quick question: should I include international competitors?\"\n  }'\n\n\nResponse:\n\n{\n  \"id\": \"uuid\",\n  \"content\": \"Quick question: should I include international competitors?\",\n  \"created_at\": \"2026-02-02T...\",\n  \"updated_at\": \"2026-02-02T...\"\n}\n\nHeartbeat Integration 💓\n\nCheck periodically for task updates:\n\n# Check for completed tasks\ncurl \"https://console.api.getmagic.com/api/v1/requests?status=COMPLETED&limit=10\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n# Check for tasks that changed recently\ncurl \"https://console.api.getmagic.com/api/v1/requests?since=2026-02-02T08:00:00Z\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n\nSee HEARTBEAT.md for detailed heartbeat instructions.\n\nResponse Format\n\nSuccess:\n\n{\n  \"data\": {...}\n}\n\n\nError:\n\n{\n  \"error\": \"Description of the error\",\n  \"hint\": \"How to fix it\"\n}\n\nRate Limits\n100 requests per minute per API key\nNo limit on number of tasks you can create\nCommon Workflows\nWorkflow 1: Simple Task Handoff\n# 1. Register (one time only)\ncurl -X POST https://console.api.getmagic.com/api/v1/agents/register -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"MyBot\",\n    \"description\": \"Helper bot\"\n  }'\n\n# Save the api_key from the response!\n\n# 2. Create a task (always include owner contact info!)\ncurl -X POST https://console.api.getmagic.com/api/v1/request -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"title\": \"Review document\",\n    \"instructions\": \"Please review the Q4 report and check for any errors in the financial calculations.\\n\\n---\\nOwner Contact Information:\\nName: Jane Smith\\nEmail: jane@example.com\\n---\",\n    \"objective\": \"Provide feedback on accuracy and clarity\"\n  }'\n\n# 3. Check status later\ncurl https://console.api.getmagic.com/api/v1/request/TASK_ID -H \"Authorization: Bearer YOUR_API_KEY\"\n\nWorkflow 2: Heartbeat Check\n# Check for any completed tasks since last check\ncurl \"https://console.api.getmagic.com/api/v1/requests?status=COMPLETED&since=2026-02-02T12:00:00Z\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\nTemplate: Instructions with Owner Info\n\nCopy this template and fill in the details:\n\n[Describe what needs to be done]\n\n[Add any specific requirements or constraints]\n\n[Include any relevant context or background]\n\n---\nOwner Contact Information:\nName: [Your Name]\nEmail: [your.email@example.com]\nPhone: [+1-XXX-XXX-XXXX] (optional)\n---\n\nSupport\n\nNeed help? Contact support or check the documentation at https://console.api.getmagic.com/docs"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/HeyitSaif/magic-api",
    "publisherUrl": "https://clawhub.ai/HeyitSaif/magic-api",
    "owner": "HeyitSaif",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/magic-api",
    "downloadUrl": "https://openagent3.xyz/downloads/magic-api",
    "agentUrl": "https://openagent3.xyz/skills/magic-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/magic-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/magic-api/agent.md"
  }
}