{
  "schemaVersion": "1.0",
  "item": {
    "slug": "privacy-cards",
    "name": "Privacy Cards",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/JohnieLee/privacy-cards",
    "canonicalUrl": "https://clawhub.ai/JohnieLee/privacy-cards",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/privacy-cards",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=privacy-cards",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/api.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/privacy-cards"
    },
    "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/privacy-cards",
    "agentPageUrl": "https://openagent3.xyz/skills/privacy-cards/agent",
    "manifestUrl": "https://openagent3.xyz/skills/privacy-cards/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/privacy-cards/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": "Privacy Cards",
        "body": "Manage virtual cards via the Privacy.com API."
      },
      {
        "title": "Getting API Access",
        "body": "Sign up for a Privacy.com account\nEmail support@privacy.com to request API access\nOnce approved, you'll receive your API key"
      },
      {
        "title": "Configuration",
        "body": "export PRIVACY_API_KEY=\"your-api-key\"\n\nEnvironments:\n\nProduction: https://api.privacy.com/v1\nSandbox: https://sandbox.privacy.com/v1\n\nAll requests: Authorization: api-key $PRIVACY_API_KEY"
      },
      {
        "title": "Create a Card",
        "body": "curl -s -X POST \"https://api.privacy.com/v1/cards\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"type\": \"SINGLE_USE\",\n    \"memo\": \"One-time purchase\",\n    \"spend_limit\": 5000,\n    \"spend_limit_duration\": \"TRANSACTION\"\n  }' | jq"
      },
      {
        "title": "Card Types",
        "body": "TypeBehaviorSINGLE_USECloses after first transactionMERCHANT_LOCKEDLocks to first merchant, reusable thereUNLOCKEDWorks anywhere (requires issuing access)"
      },
      {
        "title": "Create Parameters",
        "body": "ParameterRequiredDescriptiontypeYesSINGLE_USE, MERCHANT_LOCKED, UNLOCKEDmemoNoLabel/descriptionspend_limitNoLimit in centsspend_limit_durationNoTRANSACTION, MONTHLY, ANNUALLY, FOREVERstateNoOPEN (default) or PAUSEDfunding_tokenNoSpecific funding source UUID"
      },
      {
        "title": "Response",
        "body": "{\n  \"token\": \"card-uuid\",\n  \"type\": \"SINGLE_USE\",\n  \"state\": \"OPEN\",\n  \"memo\": \"One-time purchase\",\n  \"last_four\": \"1234\",\n  \"pan\": \"4111111111111234\",\n  \"cvv\": \"123\",\n  \"exp_month\": \"12\",\n  \"exp_year\": \"2027\",\n  \"spend_limit\": 5000,\n  \"spend_limit_duration\": \"TRANSACTION\",\n  \"created\": \"2024-01-15T10:30:00Z\"\n}\n\nNote: pan, cvv, exp_month, exp_year require enterprise access in production. Always available in sandbox."
      },
      {
        "title": "All transactions for a card",
        "body": "curl -s \"https://api.privacy.com/v1/transactions?card_token={card_token}\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq"
      },
      {
        "title": "Filter by date range",
        "body": "curl -s \"https://api.privacy.com/v1/transactions?card_token={card_token}&begin=2024-01-01&end=2024-01-31\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq"
      },
      {
        "title": "Filter by result",
        "body": "# Only approved\ncurl -s \"https://api.privacy.com/v1/transactions?result=APPROVED\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq\n\n# Only declined\ncurl -s \"https://api.privacy.com/v1/transactions?result=DECLINED\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq"
      },
      {
        "title": "Query Parameters",
        "body": "ParameterDescriptioncard_tokenFilter by card UUIDresultAPPROVED or DECLINEDbeginOn or after date (YYYY-MM-DD)endBefore date (YYYY-MM-DD)pagePage number (default: 1)page_sizeResults per page (1-1000, default: 50)"
      },
      {
        "title": "Transaction Response",
        "body": "{\n  \"token\": \"txn-uuid\",\n  \"card_token\": \"card-uuid\",\n  \"amount\": -2500,\n  \"status\": \"SETTLED\",\n  \"result\": \"APPROVED\",\n  \"merchant\": {\n    \"descriptor\": \"NETFLIX.COM\",\n    \"mcc\": \"4899\",\n    \"city\": \"LOS GATOS\",\n    \"state\": \"CA\",\n    \"country\": \"USA\"\n  },\n  \"created\": \"2024-01-15T14:22:00Z\"\n}"
      },
      {
        "title": "Transaction Statuses",
        "body": "PENDING → SETTLING → SETTLED\n\nAlso: VOIDED, BOUNCED, DECLINED"
      },
      {
        "title": "List all cards",
        "body": "curl -s \"https://api.privacy.com/v1/cards\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq"
      },
      {
        "title": "Get single card",
        "body": "curl -s \"https://api.privacy.com/v1/cards/{card_token}\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq"
      },
      {
        "title": "Pause a card",
        "body": "curl -s -X PATCH \"https://api.privacy.com/v1/cards/{card_token}\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"state\": \"PAUSED\"}' | jq"
      },
      {
        "title": "Close a card (permanent)",
        "body": "curl -s -X PATCH \"https://api.privacy.com/v1/cards/{card_token}\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"state\": \"CLOSED\"}' | jq"
      },
      {
        "title": "Update spend limit",
        "body": "curl -s -X PATCH \"https://api.privacy.com/v1/cards/{card_token}\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"spend_limit\": 10000, \"spend_limit_duration\": \"MONTHLY\"}' | jq"
      },
      {
        "title": "Common Decline Reasons",
        "body": "CodeMeaningCARD_PAUSEDCard is pausedCARD_CLOSEDCard is closedSINGLE_USE_RECHARGEDSingle-use already usedUNAUTHORIZED_MERCHANTWrong merchant for locked cardUSER_TRANSACTION_LIMITSpend limit exceededINSUFFICIENT_FUNDSFunding source issue\n\nSee references/api.md for complete field documentation."
      }
    ],
    "body": "Privacy Cards\n\nManage virtual cards via the Privacy.com API.\n\nSetup\nGetting API Access\nSign up for a Privacy.com account\nEmail support@privacy.com to request API access\nOnce approved, you'll receive your API key\nConfiguration\nexport PRIVACY_API_KEY=\"your-api-key\"\n\n\nEnvironments:\n\nProduction: https://api.privacy.com/v1\nSandbox: https://sandbox.privacy.com/v1\n\nAll requests: Authorization: api-key $PRIVACY_API_KEY\n\nCreate a Card\ncurl -s -X POST \"https://api.privacy.com/v1/cards\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"type\": \"SINGLE_USE\",\n    \"memo\": \"One-time purchase\",\n    \"spend_limit\": 5000,\n    \"spend_limit_duration\": \"TRANSACTION\"\n  }' | jq\n\nCard Types\nType\tBehavior\nSINGLE_USE\tCloses after first transaction\nMERCHANT_LOCKED\tLocks to first merchant, reusable there\nUNLOCKED\tWorks anywhere (requires issuing access)\nCreate Parameters\nParameter\tRequired\tDescription\ntype\tYes\tSINGLE_USE, MERCHANT_LOCKED, UNLOCKED\nmemo\tNo\tLabel/description\nspend_limit\tNo\tLimit in cents\nspend_limit_duration\tNo\tTRANSACTION, MONTHLY, ANNUALLY, FOREVER\nstate\tNo\tOPEN (default) or PAUSED\nfunding_token\tNo\tSpecific funding source UUID\nResponse\n{\n  \"token\": \"card-uuid\",\n  \"type\": \"SINGLE_USE\",\n  \"state\": \"OPEN\",\n  \"memo\": \"One-time purchase\",\n  \"last_four\": \"1234\",\n  \"pan\": \"4111111111111234\",\n  \"cvv\": \"123\",\n  \"exp_month\": \"12\",\n  \"exp_year\": \"2027\",\n  \"spend_limit\": 5000,\n  \"spend_limit_duration\": \"TRANSACTION\",\n  \"created\": \"2024-01-15T10:30:00Z\"\n}\n\n\nNote: pan, cvv, exp_month, exp_year require enterprise access in production. Always available in sandbox.\n\nLookup Transactions\nAll transactions for a card\ncurl -s \"https://api.privacy.com/v1/transactions?card_token={card_token}\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq\n\nFilter by date range\ncurl -s \"https://api.privacy.com/v1/transactions?card_token={card_token}&begin=2024-01-01&end=2024-01-31\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq\n\nFilter by result\n# Only approved\ncurl -s \"https://api.privacy.com/v1/transactions?result=APPROVED\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq\n\n# Only declined\ncurl -s \"https://api.privacy.com/v1/transactions?result=DECLINED\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq\n\nQuery Parameters\nParameter\tDescription\ncard_token\tFilter by card UUID\nresult\tAPPROVED or DECLINED\nbegin\tOn or after date (YYYY-MM-DD)\nend\tBefore date (YYYY-MM-DD)\npage\tPage number (default: 1)\npage_size\tResults per page (1-1000, default: 50)\nTransaction Response\n{\n  \"token\": \"txn-uuid\",\n  \"card_token\": \"card-uuid\",\n  \"amount\": -2500,\n  \"status\": \"SETTLED\",\n  \"result\": \"APPROVED\",\n  \"merchant\": {\n    \"descriptor\": \"NETFLIX.COM\",\n    \"mcc\": \"4899\",\n    \"city\": \"LOS GATOS\",\n    \"state\": \"CA\",\n    \"country\": \"USA\"\n  },\n  \"created\": \"2024-01-15T14:22:00Z\"\n}\n\nTransaction Statuses\n\nPENDING → SETTLING → SETTLED\n\nAlso: VOIDED, BOUNCED, DECLINED\n\nQuick Reference\nList all cards\ncurl -s \"https://api.privacy.com/v1/cards\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq\n\nGet single card\ncurl -s \"https://api.privacy.com/v1/cards/{card_token}\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" | jq\n\nPause a card\ncurl -s -X PATCH \"https://api.privacy.com/v1/cards/{card_token}\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"state\": \"PAUSED\"}' | jq\n\nClose a card (permanent)\ncurl -s -X PATCH \"https://api.privacy.com/v1/cards/{card_token}\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"state\": \"CLOSED\"}' | jq\n\nUpdate spend limit\ncurl -s -X PATCH \"https://api.privacy.com/v1/cards/{card_token}\" \\\n  -H \"Authorization: api-key $PRIVACY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"spend_limit\": 10000, \"spend_limit_duration\": \"MONTHLY\"}' | jq\n\nCommon Decline Reasons\nCode\tMeaning\nCARD_PAUSED\tCard is paused\nCARD_CLOSED\tCard is closed\nSINGLE_USE_RECHARGED\tSingle-use already used\nUNAUTHORIZED_MERCHANT\tWrong merchant for locked card\nUSER_TRANSACTION_LIMIT\tSpend limit exceeded\nINSUFFICIENT_FUNDS\tFunding source issue\n\nSee references/api.md for complete field documentation."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/JohnieLee/privacy-cards",
    "publisherUrl": "https://clawhub.ai/JohnieLee/privacy-cards",
    "owner": "JohnieLee",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/privacy-cards",
    "downloadUrl": "https://openagent3.xyz/downloads/privacy-cards",
    "agentUrl": "https://openagent3.xyz/skills/privacy-cards/agent",
    "manifestUrl": "https://openagent3.xyz/skills/privacy-cards/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/privacy-cards/agent.md"
  }
}