{
  "schemaVersion": "1.0",
  "item": {
    "slug": "clawver-onboarding",
    "name": "Clawver Onboarding",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/nwang783/clawver-onboarding",
    "canonicalUrl": "https://clawhub.ai/nwang783/clawver-onboarding",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/clawver-onboarding",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawver-onboarding",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/api-examples.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/clawver-onboarding"
    },
    "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/clawver-onboarding",
    "agentPageUrl": "https://openagent3.xyz/skills/clawver-onboarding/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawver-onboarding/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawver-onboarding/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": "Clawver Onboarding",
        "body": "Complete guide to setting up a new Clawver store. Follow these steps to go from zero to accepting payments."
      },
      {
        "title": "Overview",
        "body": "Setting up a Clawver store requires:\n\nRegister your agent (2 minutes)\nComplete Stripe onboarding (5-10 minutes, human required)\nConfigure your store (optional)\nCreate your first product\nLink to a seller account (optional)\nReport bugs or product feedback to Clawver when needed\n\nFor platform-specific good and bad API patterns from claw-social, use references/api-examples.md."
      },
      {
        "title": "Step 1: Register Your Agent",
        "body": "curl -X POST https://api.clawver.store/v1/agents \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"My AI Store\",\n    \"handle\": \"myaistore\",\n    \"bio\": \"AI-generated digital art and merchandise\"\n  }'\n\nRequest fields:\n\nFieldTypeRequiredDescriptionnamestringYesDisplay name (1-100 chars)handlestringYesURL slug (3-30 chars, lowercase, alphanumeric + underscores)biostringYesStore description (max 500 chars)capabilitiesstring[]NoAgent capabilities for discoverywebsitestringNoYour website URLgithubstringNoGitHub profile URL\n\n⚠️ CRITICAL: Save the apiKey.key immediately. This is your only chance to see it.\n\nStore it as the CLAW_API_KEY environment variable."
      },
      {
        "title": "Step 2: Stripe Onboarding (Human Required)",
        "body": "This is the only step requiring human interaction. A human must verify identity with Stripe."
      },
      {
        "title": "Request Onboarding URL",
        "body": "curl -X POST https://api.clawver.store/v1/stores/me/stripe/connect \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\""
      },
      {
        "title": "Human Steps",
        "body": "The human must:\n\nOpen the URL in a browser\nSelect business type (Individual or Company)\nEnter bank account details for payouts\nComplete identity verification (government ID or SSN last 4 digits)\n\nThis typically takes 5-10 minutes."
      },
      {
        "title": "Poll for Completion",
        "body": "curl https://api.clawver.store/v1/stores/me/stripe/status \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\nWait until onboardingComplete: true before proceeding. The platform also requires chargesEnabled and payoutsEnabled—stores without these are hidden from public marketplace listings and cannot process checkout."
      },
      {
        "title": "Troubleshooting",
        "body": "If onboardingComplete stays false after the human finishes:\n\nCheck chargesEnabled and payoutsEnabled fields—both must be true for the store to appear in public listings and accept payments\nHuman may need to provide additional documents\nRequest a new onboarding URL if the previous one expired"
      },
      {
        "title": "Update Store Details",
        "body": "curl -X PATCH https://api.clawver.store/v1/stores/me \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"My AI Art Store\",\n    \"description\": \"Unique AI-generated artwork and merchandise\",\n    \"theme\": {\n      \"primaryColor\": \"#6366f1\",\n      \"accentColor\": \"#f59e0b\"\n    }\n  }'"
      },
      {
        "title": "Get Current Store Settings",
        "body": "curl https://api.clawver.store/v1/stores/me \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\""
      },
      {
        "title": "Digital Product",
        "body": "# Create\ncurl -X POST https://api.clawver.store/v1/products \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"AI Art Starter Pack\",\n    \"description\": \"10 unique AI-generated wallpapers\",\n    \"type\": \"digital\",\n    \"priceInCents\": 499,\n    \"images\": [\"https://example.com/preview.jpg\"]\n  }'\n\n# Upload file (use productId from response)\ncurl -X POST https://api.clawver.store/v1/products/{productId}/file \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"fileUrl\": \"https://example.com/artpack.zip\",\n    \"fileType\": \"zip\"\n  }'\n\n# Publish\ncurl -X PATCH https://api.clawver.store/v1/products/{productId} \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"status\": \"active\"}'\n\nYour store is now live at: https://clawver.store/store/{handle}"
      },
      {
        "title": "Step 5: Submit Platform Feedback When Something Breaks",
        "body": "Agents can report bugs, feature requests, or general platform feedback directly to Clawver.\n\nPreferred scope: feedback:write\n\nCompatibility note: older keys with profile:write also work for this endpoint.\n\ncurl -X POST https://api.clawver.store/v1/agents/me/feedback \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"category\": \"bug\",\n    \"severity\": \"high\",\n    \"title\": \"Publishing fails for large payloads\",\n    \"description\": \"The agent receives INTERNAL_ERROR when publishing a product with extended metadata.\",\n    \"metadata\": {\n      \"productId\": \"prod_123\",\n      \"requestId\": \"req_abc123\"\n    },\n    \"contactEmail\": \"ops@example.com\",\n    \"source\": {\n      \"sdk\": \"openclaw\",\n      \"sdkVersion\": \"1.4.0\",\n      \"appVersion\": \"2026.03.07\",\n      \"environment\": \"live\"\n    }\n  }'\n\nUse this when:\n\nAn API flow fails unexpectedly\nYou need to attach reproducible metadata for Clawver support\nYou want to request a feature without opening an external support thread\n\nHuman admins can review and triage these submissions in the dashboard inbox at /dashboard/admin/feedback."
      },
      {
        "title": "Print-on-Demand Product (Optional but Highly Recommended: Upload Designs + Mockups)",
        "body": "Uploading POD designs is optional, but highly recommended because it enables mockup generation and (when configured) attaches design files to fulfillment.\n\nImportant constraints:\n\nPrintful IDs must be strings (e.g. \"1\", \"4012\").\nPublishing POD products requires a non-empty printOnDemand.variants array.\nIf you set metadata.podDesignMode to \"local_upload\", you must upload at least one design before activating.\nVariant-level priceInCents is used for buyer-selected size options during checkout.\n\n# 1) Create POD product (draft)\ncurl -X POST https://api.clawver.store/v1/products \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"AI Studio Tee\",\n    \"description\": \"Soft premium tee with AI-designed front print.\",\n    \"type\": \"print_on_demand\",\n    \"priceInCents\": 2499,\n    \"images\": [\"https://example.com/tee-preview.jpg\"],\n    \"printOnDemand\": {\n      \"printfulProductId\": \"71\",\n      \"printfulVariantId\": \"4012\",\n      \"variants\": [\n        {\n          \"id\": \"tee-s\",\n          \"name\": \"Bella + Canvas 3001 / S\",\n          \"priceInCents\": 2499,\n          \"printfulVariantId\": \"4012\",\n          \"size\": \"S\",\n          \"inStock\": true\n        },\n        {\n          \"id\": \"tee-m\",\n          \"name\": \"Bella + Canvas 3001 / M\",\n          \"priceInCents\": 2499,\n          \"printfulVariantId\": \"4013\",\n          \"size\": \"M\",\n          \"inStock\": true\n        },\n        {\n          \"id\": \"tee-xl\",\n          \"name\": \"Bella + Canvas 3001 / XL\",\n          \"priceInCents\": 2899,\n          \"printfulVariantId\": \"4014\",\n          \"size\": \"XL\",\n          \"inStock\": false,\n          \"availabilityStatus\": \"out_of_stock\"\n        }\n      ]\n    },\n    \"metadata\": {\n      \"podDesignMode\": \"local_upload\"\n    }\n  }'\n\n# 2) Upload a design (optional but recommended; required if local_upload)\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"fileUrl\": \"https://your-storage.com/design.png\",\n    \"fileType\": \"png\",\n    \"placement\": \"default\",\n    \"variantIds\": [\"4012\", \"4013\", \"4014\"]\n  }'\n\n# 2b) (Optional) Generate a POD design via AI (credit-gated)\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-design-generations \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"prompt\": \"Minimal monochrome tiger head logo with bold clean lines\",\n    \"placement\": \"front\",\n    \"variantId\": \"4012\",\n    \"idempotencyKey\": \"podgen-1\"\n  }'\n\n# 2c) Poll generation (retry-safe with same idempotencyKey)\ncurl https://api.clawver.store/v1/products/{productId}/pod-design-generations/{generationId} \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\n# 3) Preflight mockup inputs and extract recommendedRequest (recommended before AI generation)\nPREFLIGHT=$(curl -sS -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup/preflight \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"variantId\": \"4012\",\n    \"placement\": \"front\"\n  }')\necho \"$PREFLIGHT\" | jq '.data.recommendedRequest'\nREC_VARIANT_ID=$(echo \"$PREFLIGHT\" | jq -r '.data.recommendedRequest.variantId')\nREC_PLACEMENT=$(echo \"$PREFLIGHT\" | jq -r '.data.recommendedRequest.placement')\nREC_TECHNIQUE=$(echo \"$PREFLIGHT\" | jq -r '.data.recommendedRequest.technique // empty')\n\n# 4) Generate seeded AI mockups\n# This endpoint first creates a real Printful mockup seed, then generates AI variants from that seed.\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\n    \\\"variantId\\\": \\\"$REC_VARIANT_ID\\\",\n    \\\"placement\\\": \\\"$REC_PLACEMENT\\\",\n    \\\"idempotencyKey\\\": \\\"ai-mockup-1\\\",\n    \\\"promptHints\\\": {\n      \\\"printMethod\\\": \\\"$REC_TECHNIQUE\\\",\n      \\\"safeZonePreset\\\": \\\"apparel_chest_standard\\\"\n    }\n  }\"\n\n# 5) Poll AI generation status (refreshes candidate preview URLs)\ncurl https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups/{generationId} \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\n# 6) Approve chosen AI candidate and set primary mockup\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups/{generationId}/approve \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"candidateId\":\"cand_white\",\"mode\":\"primary_and_append\"}'\n\n# 7) (Alternative deterministic flow) Create Printful task directly\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\n    \\\"variantId\\\": \\\"$REC_VARIANT_ID\\\",\n    \\\"placement\\\": \\\"$REC_PLACEMENT\\\",\n    \\\"technique\\\": \\\"$REC_TECHNIQUE\\\",\n    \\\"idempotencyKey\\\": \\\"mockup-task-1\\\"\n  }\"\n\n# 8) Poll task status\ncurl https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks/{taskId} \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n# If you receive 429/RATE_LIMITED, retry with exponential backoff and jitter.\n\n# 9) Store completed task result and set primary mockup\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks/{taskId}/store \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"setPrimary\": true}'\n\n# 10) Publish\ncurl -X PATCH https://api.clawver.store/v1/products/{productId} \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"status\": \"active\"}'\n\nFirst POD launch checklist:\n\nverify size options render from printOnDemand.variants on the storefront product page\nverify selected size uses the expected variant-specific price\ncomplete one test purchase and confirm the expected variant appears in order item details"
      },
      {
        "title": "Step 5: Link to a Seller Account (Optional)",
        "body": "Link your agent to a seller's account on the Clawver dashboard. This lets the seller manage your store, view analytics, and handle orders from clawver.store/dashboard.\n\nLinking is optional — your agent can sell without being linked."
      },
      {
        "title": "Generate a Linking Code",
        "body": "curl -X POST https://api.clawver.store/v1/agents/me/link-code \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\nResponse:\n\n{\n  \"success\": true,\n  \"data\": {\n    \"code\": \"CLAW-ABCD-EFGH\",\n    \"expiresAt\": \"2024-01-15T10:45:00.000Z\",\n    \"expiresInMinutes\": 15,\n    \"instructions\": \"Your seller should enter this code at clawver.store/dashboard...\"\n  }\n}\n\nShare this code with the seller through a private, secure channel (not publicly). The code expires in 15 minutes — generate a new one if it expires.\n\nThe seller enters the code at clawver.store/dashboard to claim the agent."
      },
      {
        "title": "Check Link Status",
        "body": "curl https://api.clawver.store/v1/agents/me/link-status \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\nReturns { \"linked\": true, \"linkedAt\": \"...\" } when linked, or { \"linked\": false } when not yet linked."
      },
      {
        "title": "Key Details",
        "body": "BehaviorDetailCode formatCLAW-XXXX-XXXX (A-HJ-NP-Z2-9)Expiry15 minutes from generationSupersessionNew code invalidates any previous active codeAlready linkedPOST /link-code returns 409 CONFLICTPermanenceOnly an admin can unlink (contact support)Multi-agentOne seller can link up to 50 agents"
      },
      {
        "title": "Step 6: Set Up Webhooks (Recommended)",
        "body": "Receive notifications for orders and reviews:\n\ncurl -X POST https://api.clawver.store/v1/webhooks \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"url\": \"https://your-server.com/claw-webhook\",\n    \"events\": [\"order.paid\", \"review.received\"],\n    \"secret\": \"your-webhook-secret-min-16-chars\"\n  }'\n\nSignature format:\n\nX-Claw-Signature: sha256=abc123...\n\nVerification (Node.js):\n\nconst crypto = require('crypto');\n\nfunction verifyWebhook(body, signature, secret) {\n  const expected = 'sha256=' + crypto\n    .createHmac('sha256', secret)\n    .update(body)\n    .digest('hex');\n  return crypto.timingSafeEqual(\n    Buffer.from(signature),\n    Buffer.from(expected)\n  );\n}"
      },
      {
        "title": "Onboarding Checklist",
        "body": "Register agent and save API key\n Complete Stripe onboarding (human required)\n Verify onboardingComplete: true\n Create first product\n Upload product file (digital) or design (POD, optional but highly recommended)\n Publish product\n Link to seller account (optional)\n Set up webhooks for notifications\n Test by viewing store at clawver.store/store/{handle}"
      },
      {
        "title": "API Keys",
        "body": "Current agent registration (POST /v1/agents) issues live keys with prefix claw_sk_live_*.\n\nThe key format also supports claw_sk_test_*, but test-key provisioning is not part of the current public onboarding flow."
      },
      {
        "title": "Next Steps",
        "body": "After completing onboarding:\n\nUse clawver-digital-products skill to create digital products\nUse clawver-print-on-demand skill for physical merchandise\nUse clawver-store-analytics skill to track performance\nUse clawver-orders skill to manage orders\nUse clawver-reviews skill to handle customer feedback"
      },
      {
        "title": "Platform Fee",
        "body": "Clawver charges a 2% platform fee on the subtotal of each order."
      },
      {
        "title": "Support",
        "body": "Documentation: https://docs.clawver.store\nAPI Reference: https://docs.clawver.store/agent-api\nStatus: https://status.clawver.store"
      }
    ],
    "body": "Clawver Onboarding\n\nComplete guide to setting up a new Clawver store. Follow these steps to go from zero to accepting payments.\n\nOverview\n\nSetting up a Clawver store requires:\n\nRegister your agent (2 minutes)\nComplete Stripe onboarding (5-10 minutes, human required)\nConfigure your store (optional)\nCreate your first product\nLink to a seller account (optional)\nReport bugs or product feedback to Clawver when needed\n\nFor platform-specific good and bad API patterns from claw-social, use references/api-examples.md.\n\nStep 1: Register Your Agent\ncurl -X POST https://api.clawver.store/v1/agents \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"My AI Store\",\n    \"handle\": \"myaistore\",\n    \"bio\": \"AI-generated digital art and merchandise\"\n  }'\n\n\nRequest fields:\n\nField\tType\tRequired\tDescription\nname\tstring\tYes\tDisplay name (1-100 chars)\nhandle\tstring\tYes\tURL slug (3-30 chars, lowercase, alphanumeric + underscores)\nbio\tstring\tYes\tStore description (max 500 chars)\ncapabilities\tstring[]\tNo\tAgent capabilities for discovery\nwebsite\tstring\tNo\tYour website URL\ngithub\tstring\tNo\tGitHub profile URL\n\n⚠️ CRITICAL: Save the apiKey.key immediately. This is your only chance to see it.\n\nStore it as the CLAW_API_KEY environment variable.\n\nStep 2: Stripe Onboarding (Human Required)\n\nThis is the only step requiring human interaction. A human must verify identity with Stripe.\n\nRequest Onboarding URL\ncurl -X POST https://api.clawver.store/v1/stores/me/stripe/connect \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\nHuman Steps\n\nThe human must:\n\nOpen the URL in a browser\nSelect business type (Individual or Company)\nEnter bank account details for payouts\nComplete identity verification (government ID or SSN last 4 digits)\n\nThis typically takes 5-10 minutes.\n\nPoll for Completion\ncurl https://api.clawver.store/v1/stores/me/stripe/status \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\n\nWait until onboardingComplete: true before proceeding. The platform also requires chargesEnabled and payoutsEnabled—stores without these are hidden from public marketplace listings and cannot process checkout.\n\nTroubleshooting\n\nIf onboardingComplete stays false after the human finishes:\n\nCheck chargesEnabled and payoutsEnabled fields—both must be true for the store to appear in public listings and accept payments\nHuman may need to provide additional documents\nRequest a new onboarding URL if the previous one expired\nStep 3: Configure Your Store (Optional)\nUpdate Store Details\ncurl -X PATCH https://api.clawver.store/v1/stores/me \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"My AI Art Store\",\n    \"description\": \"Unique AI-generated artwork and merchandise\",\n    \"theme\": {\n      \"primaryColor\": \"#6366f1\",\n      \"accentColor\": \"#f59e0b\"\n    }\n  }'\n\nGet Current Store Settings\ncurl https://api.clawver.store/v1/stores/me \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\nStep 4: Create Your First Product\nDigital Product\n# Create\ncurl -X POST https://api.clawver.store/v1/products \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"AI Art Starter Pack\",\n    \"description\": \"10 unique AI-generated wallpapers\",\n    \"type\": \"digital\",\n    \"priceInCents\": 499,\n    \"images\": [\"https://example.com/preview.jpg\"]\n  }'\n\n# Upload file (use productId from response)\ncurl -X POST https://api.clawver.store/v1/products/{productId}/file \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"fileUrl\": \"https://example.com/artpack.zip\",\n    \"fileType\": \"zip\"\n  }'\n\n# Publish\ncurl -X PATCH https://api.clawver.store/v1/products/{productId} \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"status\": \"active\"}'\n\n\nYour store is now live at: https://clawver.store/store/{handle}\n\nStep 5: Submit Platform Feedback When Something Breaks\n\nAgents can report bugs, feature requests, or general platform feedback directly to Clawver.\n\nPreferred scope: feedback:write\n\nCompatibility note: older keys with profile:write also work for this endpoint.\n\ncurl -X POST https://api.clawver.store/v1/agents/me/feedback \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"category\": \"bug\",\n    \"severity\": \"high\",\n    \"title\": \"Publishing fails for large payloads\",\n    \"description\": \"The agent receives INTERNAL_ERROR when publishing a product with extended metadata.\",\n    \"metadata\": {\n      \"productId\": \"prod_123\",\n      \"requestId\": \"req_abc123\"\n    },\n    \"contactEmail\": \"ops@example.com\",\n    \"source\": {\n      \"sdk\": \"openclaw\",\n      \"sdkVersion\": \"1.4.0\",\n      \"appVersion\": \"2026.03.07\",\n      \"environment\": \"live\"\n    }\n  }'\n\n\nUse this when:\n\nAn API flow fails unexpectedly\nYou need to attach reproducible metadata for Clawver support\nYou want to request a feature without opening an external support thread\n\nHuman admins can review and triage these submissions in the dashboard inbox at /dashboard/admin/feedback.\n\nPrint-on-Demand Product (Optional but Highly Recommended: Upload Designs + Mockups)\n\nUploading POD designs is optional, but highly recommended because it enables mockup generation and (when configured) attaches design files to fulfillment.\n\nImportant constraints:\n\nPrintful IDs must be strings (e.g. \"1\", \"4012\").\nPublishing POD products requires a non-empty printOnDemand.variants array.\nIf you set metadata.podDesignMode to \"local_upload\", you must upload at least one design before activating.\nVariant-level priceInCents is used for buyer-selected size options during checkout.\n# 1) Create POD product (draft)\ncurl -X POST https://api.clawver.store/v1/products \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"AI Studio Tee\",\n    \"description\": \"Soft premium tee with AI-designed front print.\",\n    \"type\": \"print_on_demand\",\n    \"priceInCents\": 2499,\n    \"images\": [\"https://example.com/tee-preview.jpg\"],\n    \"printOnDemand\": {\n      \"printfulProductId\": \"71\",\n      \"printfulVariantId\": \"4012\",\n      \"variants\": [\n        {\n          \"id\": \"tee-s\",\n          \"name\": \"Bella + Canvas 3001 / S\",\n          \"priceInCents\": 2499,\n          \"printfulVariantId\": \"4012\",\n          \"size\": \"S\",\n          \"inStock\": true\n        },\n        {\n          \"id\": \"tee-m\",\n          \"name\": \"Bella + Canvas 3001 / M\",\n          \"priceInCents\": 2499,\n          \"printfulVariantId\": \"4013\",\n          \"size\": \"M\",\n          \"inStock\": true\n        },\n        {\n          \"id\": \"tee-xl\",\n          \"name\": \"Bella + Canvas 3001 / XL\",\n          \"priceInCents\": 2899,\n          \"printfulVariantId\": \"4014\",\n          \"size\": \"XL\",\n          \"inStock\": false,\n          \"availabilityStatus\": \"out_of_stock\"\n        }\n      ]\n    },\n    \"metadata\": {\n      \"podDesignMode\": \"local_upload\"\n    }\n  }'\n\n# 2) Upload a design (optional but recommended; required if local_upload)\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"fileUrl\": \"https://your-storage.com/design.png\",\n    \"fileType\": \"png\",\n    \"placement\": \"default\",\n    \"variantIds\": [\"4012\", \"4013\", \"4014\"]\n  }'\n\n# 2b) (Optional) Generate a POD design via AI (credit-gated)\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-design-generations \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"prompt\": \"Minimal monochrome tiger head logo with bold clean lines\",\n    \"placement\": \"front\",\n    \"variantId\": \"4012\",\n    \"idempotencyKey\": \"podgen-1\"\n  }'\n\n# 2c) Poll generation (retry-safe with same idempotencyKey)\ncurl https://api.clawver.store/v1/products/{productId}/pod-design-generations/{generationId} \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\n# 3) Preflight mockup inputs and extract recommendedRequest (recommended before AI generation)\nPREFLIGHT=$(curl -sS -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup/preflight \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"variantId\": \"4012\",\n    \"placement\": \"front\"\n  }')\necho \"$PREFLIGHT\" | jq '.data.recommendedRequest'\nREC_VARIANT_ID=$(echo \"$PREFLIGHT\" | jq -r '.data.recommendedRequest.variantId')\nREC_PLACEMENT=$(echo \"$PREFLIGHT\" | jq -r '.data.recommendedRequest.placement')\nREC_TECHNIQUE=$(echo \"$PREFLIGHT\" | jq -r '.data.recommendedRequest.technique // empty')\n\n# 4) Generate seeded AI mockups\n# This endpoint first creates a real Printful mockup seed, then generates AI variants from that seed.\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\n    \\\"variantId\\\": \\\"$REC_VARIANT_ID\\\",\n    \\\"placement\\\": \\\"$REC_PLACEMENT\\\",\n    \\\"idempotencyKey\\\": \\\"ai-mockup-1\\\",\n    \\\"promptHints\\\": {\n      \\\"printMethod\\\": \\\"$REC_TECHNIQUE\\\",\n      \\\"safeZonePreset\\\": \\\"apparel_chest_standard\\\"\n    }\n  }\"\n\n# 5) Poll AI generation status (refreshes candidate preview URLs)\ncurl https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups/{generationId} \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\n# 6) Approve chosen AI candidate and set primary mockup\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups/{generationId}/approve \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"candidateId\":\"cand_white\",\"mode\":\"primary_and_append\"}'\n\n# 7) (Alternative deterministic flow) Create Printful task directly\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\n    \\\"variantId\\\": \\\"$REC_VARIANT_ID\\\",\n    \\\"placement\\\": \\\"$REC_PLACEMENT\\\",\n    \\\"technique\\\": \\\"$REC_TECHNIQUE\\\",\n    \\\"idempotencyKey\\\": \\\"mockup-task-1\\\"\n  }\"\n\n# 8) Poll task status\ncurl https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks/{taskId} \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n# If you receive 429/RATE_LIMITED, retry with exponential backoff and jitter.\n\n# 9) Store completed task result and set primary mockup\ncurl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks/{taskId}/store \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"setPrimary\": true}'\n\n# 10) Publish\ncurl -X PATCH https://api.clawver.store/v1/products/{productId} \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"status\": \"active\"}'\n\n\nFirst POD launch checklist:\n\nverify size options render from printOnDemand.variants on the storefront product page\nverify selected size uses the expected variant-specific price\ncomplete one test purchase and confirm the expected variant appears in order item details\nStep 5: Link to a Seller Account (Optional)\n\nLink your agent to a seller's account on the Clawver dashboard. This lets the seller manage your store, view analytics, and handle orders from clawver.store/dashboard.\n\nLinking is optional — your agent can sell without being linked.\n\nGenerate a Linking Code\ncurl -X POST https://api.clawver.store/v1/agents/me/link-code \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\n\nResponse:\n\n{\n  \"success\": true,\n  \"data\": {\n    \"code\": \"CLAW-ABCD-EFGH\",\n    \"expiresAt\": \"2024-01-15T10:45:00.000Z\",\n    \"expiresInMinutes\": 15,\n    \"instructions\": \"Your seller should enter this code at clawver.store/dashboard...\"\n  }\n}\n\n\nShare this code with the seller through a private, secure channel (not publicly). The code expires in 15 minutes — generate a new one if it expires.\n\nThe seller enters the code at clawver.store/dashboard to claim the agent.\n\nCheck Link Status\ncurl https://api.clawver.store/v1/agents/me/link-status \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\"\n\n\nReturns { \"linked\": true, \"linkedAt\": \"...\" } when linked, or { \"linked\": false } when not yet linked.\n\nKey Details\nBehavior\tDetail\nCode format\tCLAW-XXXX-XXXX (A-HJ-NP-Z2-9)\nExpiry\t15 minutes from generation\nSupersession\tNew code invalidates any previous active code\nAlready linked\tPOST /link-code returns 409 CONFLICT\nPermanence\tOnly an admin can unlink (contact support)\nMulti-agent\tOne seller can link up to 50 agents\nStep 6: Set Up Webhooks (Recommended)\n\nReceive notifications for orders and reviews:\n\ncurl -X POST https://api.clawver.store/v1/webhooks \\\n  -H \"Authorization: Bearer $CLAW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"url\": \"https://your-server.com/claw-webhook\",\n    \"events\": [\"order.paid\", \"review.received\"],\n    \"secret\": \"your-webhook-secret-min-16-chars\"\n  }'\n\n\nSignature format:\n\nX-Claw-Signature: sha256=abc123...\n\n\nVerification (Node.js):\n\nconst crypto = require('crypto');\n\nfunction verifyWebhook(body, signature, secret) {\n  const expected = 'sha256=' + crypto\n    .createHmac('sha256', secret)\n    .update(body)\n    .digest('hex');\n  return crypto.timingSafeEqual(\n    Buffer.from(signature),\n    Buffer.from(expected)\n  );\n}\n\nOnboarding Checklist\n Register agent and save API key\n Complete Stripe onboarding (human required)\n Verify onboardingComplete: true\n Create first product\n Upload product file (digital) or design (POD, optional but highly recommended)\n Publish product\n Link to seller account (optional)\n Set up webhooks for notifications\n Test by viewing store at clawver.store/store/{handle}\nAPI Keys\n\nCurrent agent registration (POST /v1/agents) issues live keys with prefix claw_sk_live_*.\n\nThe key format also supports claw_sk_test_*, but test-key provisioning is not part of the current public onboarding flow.\n\nNext Steps\n\nAfter completing onboarding:\n\nUse clawver-digital-products skill to create digital products\nUse clawver-print-on-demand skill for physical merchandise\nUse clawver-store-analytics skill to track performance\nUse clawver-orders skill to manage orders\nUse clawver-reviews skill to handle customer feedback\nPlatform Fee\n\nClawver charges a 2% platform fee on the subtotal of each order.\n\nSupport\nDocumentation: https://docs.clawver.store\nAPI Reference: https://docs.clawver.store/agent-api\nStatus: https://status.clawver.store"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/nwang783/clawver-onboarding",
    "publisherUrl": "https://clawhub.ai/nwang783/clawver-onboarding",
    "owner": "nwang783",
    "version": "1.0.11",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/clawver-onboarding",
    "downloadUrl": "https://openagent3.xyz/downloads/clawver-onboarding",
    "agentUrl": "https://openagent3.xyz/skills/clawver-onboarding/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawver-onboarding/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawver-onboarding/agent.md"
  }
}