{
  "schemaVersion": "1.0",
  "item": {
    "slug": "pakat",
    "name": "Pakat Email Marketing",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/hadifarnoud/pakat",
    "canonicalUrl": "https://clawhub.ai/hadifarnoud/pakat",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/pakat",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=pakat",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/api_reference.md",
      "references/openapi.json"
    ],
    "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/pakat"
    },
    "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/pakat",
    "agentPageUrl": "https://openagent3.xyz/skills/pakat/agent",
    "manifestUrl": "https://openagent3.xyz/skills/pakat/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/pakat/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": "Pakat Email Marketing",
        "body": "Pakat is a Persian/Farsi-friendly email marketing platform for creating and managing mailing lists, sending campaigns, transactional emails, and tracking delivery — all via a clean REST API.\n\n🔗 Sign up for Pakat to get started."
      },
      {
        "title": "Setup",
        "body": "Require env var PAKAT_API_KEY. If not set, ask the user for their API key.\n\nGet your API key from: https://new.pakat.net/customer/api-keys/index\n\nexport PAKAT_API_KEY=\"your-key-here\""
      },
      {
        "title": "Making Requests",
        "body": "Base URL: https://new.pakat.net/api\n\n# GET requests\ncurl -s -H \"X-API-KEY: $PAKAT_API_KEY\" \"https://new.pakat.net/api/{endpoint}\"\n\n# POST requests (multipart/form-data)\ncurl -s -X POST -H \"X-API-KEY: $PAKAT_API_KEY\" \\\n  -F \"field=value\" \\\n  \"https://new.pakat.net/api/{endpoint}\"\n\n# PUT requests (x-www-form-urlencoded)\ncurl -s -X PUT -H \"X-API-KEY: $PAKAT_API_KEY\" \\\n  -d \"field=value\" \\\n  \"https://new.pakat.net/api/{endpoint}\"\n\n# DELETE requests\ncurl -s -X DELETE -H \"X-API-KEY: $PAKAT_API_KEY\" \"https://new.pakat.net/api/{endpoint}\""
      },
      {
        "title": "List all mailing lists",
        "body": "curl -s -H \"X-API-KEY: $PAKAT_API_KEY\" \"https://new.pakat.net/api/lists\""
      },
      {
        "title": "Add subscriber to a list",
        "body": "curl -s -X POST -H \"X-API-KEY: $PAKAT_API_KEY\" \\\n  -F \"EMAIL=user@example.com\" \\\n  -F \"FNAME=John\" \\\n  -F \"LNAME=Doe\" \\\n  \"https://new.pakat.net/api/lists/{list_uid}/subscribers\""
      },
      {
        "title": "Create and send a campaign",
        "body": "curl -s -X POST -H \"X-API-KEY: $PAKAT_API_KEY\" \\\n  -F \"campaign[name]=My Campaign\" \\\n  -F \"campaign[from_name]=Sender Name\" \\\n  -F \"campaign[from_email]=sender@domain.com\" \\\n  -F \"campaign[subject]=Email Subject\" \\\n  -F \"campaign[reply_to]=reply@domain.com\" \\\n  -F \"campaign[send_at]=2025-01-15 10:00:00\" \\\n  -F \"campaign[list_uid]=LIST_UID_HERE\" \\\n  -F \"campaign[template][template_uid]=TEMPLATE_UID\" \\\n  \"https://new.pakat.net/api/campaigns\""
      },
      {
        "title": "Send a transactional email",
        "body": "# Encode HTML content safely using a heredoc\nBODY_B64=$(base64 -w0 <<'EOF'\n<h1>Hello</h1><p>Your order is confirmed.</p>\nEOF\n)\n\ncurl -s -X POST -H \"X-API-KEY: $PAKAT_API_KEY\" \\\n  -F \"email[to_name]=John Doe\" \\\n  -F \"email[to_email]=john@example.com\" \\\n  -F \"email[from_name]=My App\" \\\n  -F \"email[subject]=Order Confirmation\" \\\n  -F \"email[body]=$BODY_B64\" \\\n  -F \"email[send_at]=2025-01-15 10:00:00\" \\\n  \"https://new.pakat.net/api/transactional-emails\""
      },
      {
        "title": "Check campaign stats",
        "body": "curl -s -H \"X-API-KEY: $PAKAT_API_KEY\" \"https://new.pakat.net/api/campaigns/{campaign_uid}/stats\""
      },
      {
        "title": "Key Notes",
        "body": "HTML content must be base64-encoded (campaign[template][content], email[body], template[content])\nSafe encoding: When encoding user-provided HTML content, use heredocs (base64 <<'EOF') or write to a temporary file first to avoid shell injection vulnerabilities. Never use echo with unsanitized input.\nTransactional email send_at is UTC, format: Y-m-d H:i:s\nCampaign send_at uses the customer's configured timezone\nTransactional templates: Set email[template_uid] to use a template instead of email[body]. Use email[params][key] for {{ params.key }} placeholders\nSubscriber statuses: unconfirmed, confirmed, blacklisted, unsubscribed, unapproved, disabled, moved\nPagination: Use ?page=N&per_page=N query params on list endpoints\nfrom_email for transactional emails must be on a verified domain"
      },
      {
        "title": "Full API Reference",
        "body": "For complete endpoint details, request/response schemas, and all available fields, read references/api_reference.md.\n\nFor the raw OpenAPI 3.0 spec, see references/openapi.json."
      }
    ],
    "body": "Pakat Email Marketing\n\nPakat is a Persian/Farsi-friendly email marketing platform for creating and managing mailing lists, sending campaigns, transactional emails, and tracking delivery — all via a clean REST API.\n\n🔗 Sign up for Pakat to get started.\n\nSetup\n\nRequire env var PAKAT_API_KEY. If not set, ask the user for their API key.\n\nGet your API key from: https://new.pakat.net/customer/api-keys/index\n\nexport PAKAT_API_KEY=\"your-key-here\"\n\nMaking Requests\n\nBase URL: https://new.pakat.net/api\n\n# GET requests\ncurl -s -H \"X-API-KEY: $PAKAT_API_KEY\" \"https://new.pakat.net/api/{endpoint}\"\n\n# POST requests (multipart/form-data)\ncurl -s -X POST -H \"X-API-KEY: $PAKAT_API_KEY\" \\\n  -F \"field=value\" \\\n  \"https://new.pakat.net/api/{endpoint}\"\n\n# PUT requests (x-www-form-urlencoded)\ncurl -s -X PUT -H \"X-API-KEY: $PAKAT_API_KEY\" \\\n  -d \"field=value\" \\\n  \"https://new.pakat.net/api/{endpoint}\"\n\n# DELETE requests\ncurl -s -X DELETE -H \"X-API-KEY: $PAKAT_API_KEY\" \"https://new.pakat.net/api/{endpoint}\"\n\nCommon Workflows\nList all mailing lists\ncurl -s -H \"X-API-KEY: $PAKAT_API_KEY\" \"https://new.pakat.net/api/lists\"\n\nAdd subscriber to a list\ncurl -s -X POST -H \"X-API-KEY: $PAKAT_API_KEY\" \\\n  -F \"EMAIL=user@example.com\" \\\n  -F \"FNAME=John\" \\\n  -F \"LNAME=Doe\" \\\n  \"https://new.pakat.net/api/lists/{list_uid}/subscribers\"\n\nCreate and send a campaign\ncurl -s -X POST -H \"X-API-KEY: $PAKAT_API_KEY\" \\\n  -F \"campaign[name]=My Campaign\" \\\n  -F \"campaign[from_name]=Sender Name\" \\\n  -F \"campaign[from_email]=sender@domain.com\" \\\n  -F \"campaign[subject]=Email Subject\" \\\n  -F \"campaign[reply_to]=reply@domain.com\" \\\n  -F \"campaign[send_at]=2025-01-15 10:00:00\" \\\n  -F \"campaign[list_uid]=LIST_UID_HERE\" \\\n  -F \"campaign[template][template_uid]=TEMPLATE_UID\" \\\n  \"https://new.pakat.net/api/campaigns\"\n\nSend a transactional email\n# Encode HTML content safely using a heredoc\nBODY_B64=$(base64 -w0 <<'EOF'\n<h1>Hello</h1><p>Your order is confirmed.</p>\nEOF\n)\n\ncurl -s -X POST -H \"X-API-KEY: $PAKAT_API_KEY\" \\\n  -F \"email[to_name]=John Doe\" \\\n  -F \"email[to_email]=john@example.com\" \\\n  -F \"email[from_name]=My App\" \\\n  -F \"email[subject]=Order Confirmation\" \\\n  -F \"email[body]=$BODY_B64\" \\\n  -F \"email[send_at]=2025-01-15 10:00:00\" \\\n  \"https://new.pakat.net/api/transactional-emails\"\n\nCheck campaign stats\ncurl -s -H \"X-API-KEY: $PAKAT_API_KEY\" \"https://new.pakat.net/api/campaigns/{campaign_uid}/stats\"\n\nKey Notes\nHTML content must be base64-encoded (campaign[template][content], email[body], template[content])\nSafe encoding: When encoding user-provided HTML content, use heredocs (base64 <<'EOF') or write to a temporary file first to avoid shell injection vulnerabilities. Never use echo with unsanitized input.\nTransactional email send_at is UTC, format: Y-m-d H:i:s\nCampaign send_at uses the customer's configured timezone\nTransactional templates: Set email[template_uid] to use a template instead of email[body]. Use email[params][key] for {{ params.key }} placeholders\nSubscriber statuses: unconfirmed, confirmed, blacklisted, unsubscribed, unapproved, disabled, moved\nPagination: Use ?page=N&per_page=N query params on list endpoints\nfrom_email for transactional emails must be on a verified domain\nFull API Reference\n\nFor complete endpoint details, request/response schemas, and all available fields, read references/api_reference.md.\n\nFor the raw OpenAPI 3.0 spec, see references/openapi.json."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/hadifarnoud/pakat",
    "publisherUrl": "https://clawhub.ai/hadifarnoud/pakat",
    "owner": "hadifarnoud",
    "version": "1.1.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/pakat",
    "downloadUrl": "https://openagent3.xyz/downloads/pakat",
    "agentUrl": "https://openagent3.xyz/skills/pakat/agent",
    "manifestUrl": "https://openagent3.xyz/skills/pakat/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/pakat/agent.md"
  }
}