{
  "schemaVersion": "1.0",
  "item": {
    "slug": "wafeq-api",
    "name": "Wafeq API Reference",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/YordiLorenzo/wafeq-api",
    "canonicalUrl": "https://clawhub.ai/YordiLorenzo/wafeq-api",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/wafeq-api",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=wafeq-api",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/accounts-banking-contacts.md",
      "references/bills-expenses-notes.md",
      "references/core-concepts.md",
      "references/enums.md",
      "references/invoices.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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/wafeq-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/wafeq-api",
    "agentPageUrl": "https://openagent3.xyz/skills/wafeq-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wafeq-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wafeq-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": "Wafeq API Skill",
        "body": "Complete API reference for the Wafeq accounting and e-invoicing platform."
      },
      {
        "title": "Setup",
        "body": "To use this skill, you need a Wafeq API key:\n\nLog in to Wafeq\nGo to Settings → API Keys (direct link)\nCreate a new API key\nSet the environment variable:\nexport WAFEQ_API_KEY='your-key-here'\n\nOr configure in ~/.openclaw/openclaw.json:\n{ \"skills\": { \"entries\": { \"wafeq-api\": { \"apiKey\": \"your-key-here\" } } } }\n\n⚠️ Security: Never hardcode your API key in code, prompts, or skill files. Always use the WAFEQ_API_KEY environment variable or configure it via skills.entries.wafeq-api.apiKey in ~/.openclaw/openclaw.json.\n\nYou can validate your setup by running scripts/setup.sh from the plugin root."
      },
      {
        "title": "Quick Reference",
        "body": "Base URL: https://api.wafeq.com/v1/\nAuth (API Key): Authorization: Api-Key $WAFEQ_API_KEY — get keys at https://app.wafeq.com/c/api-keys\nAuth (OAuth2): Authorization: Bearer <access_token> — contact Wafeq for client credentials\nIdempotency: X-Wafeq-Idempotency-Key: <uuid-v4> on POST/PUT/PATCH/DELETE (1hr cache, replayed response includes X-Wafeq-Idempotent-Replayed: true)\nPagination: ?page=1&page_size=25 — response: { count, next, previous, results[] }\nContent-Type: application/json\nCurrency codes: ISO 4217 (full list in references/enums.md)\nEntity IDs: Prefixed strings (e.g. cnt_..., acc_..., inv_...)"
      },
      {
        "title": "Standard CRUD Pattern",
        "body": "Most resources follow: POST /{resource}/, GET /{resource}/, GET /{resource}/{id}/, PUT /{resource}/{id}/, PATCH /{resource}/{id}/, DELETE /{resource}/{id}/. Some also have GET /{resource}/{id}/download/ for PDF.\n\nLine items are nested: /{resource}/{parent_id}/line-items/ with the same CRUD pattern."
      },
      {
        "title": "Reference Files",
        "body": "FileContentsreferences/core-concepts.mdAuthentication (API Key + OAuth2), idempotency, error handling, quickstart guide, invoice creation walkthrough, use cases (B2B, B2C, e-commerce, expense management)references/enums.mdAll 18 enum types: currencies, statuses, classifications, tax types, discount types, languagesreferences/invoices.mdStandard invoices, invoice line items, bulk invoices (api-invoices), simplified invoices, simplified invoice line items — full CRUD + schemasreferences/accounts-banking-contacts.mdChart of accounts, bank accounts, bank ledger transactions, bank statement transactions, contacts, beneficiaries — full CRUD + schemasreferences/bills-expenses-notes.mdBills, bill line items, expenses, credit notes, credit note line items, bulk credit notes, debit notes, debit note line items — full CRUD + schemasreferences/quotes-payments-remaining.mdQuotes, payments, payment requests, payslips, items, files, manual journals, journal line items, reports (balance sheet, P&L, cash flow, trial balance), organization, tax rates, branches, cost centers, employees, projects, warehouses — full CRUD + schemas"
      },
      {
        "title": "Create and Send an Invoice",
        "body": "Create contact: POST /contacts/\nGet revenue account: GET /accounts/?classification=REVENUE\nGet tax rates: GET /tax-rates/\nCreate invoice: POST /invoices/ (with line_items, contact, currency, invoice_date, invoice_due_date, invoice_number)\nReport to tax authority: POST /invoices/{id}/tax-authority/report/\nDownload PDF: GET /invoices/{id}/download/"
      },
      {
        "title": "Bulk Send Invoices (E-Commerce / High Volume)",
        "body": "POST /api-invoices/bulk_send/ with array of invoice objects including channels for email delivery\nResponse: { \"queued\": N }\nGenerate summary: GET /api-invoices/summary/"
      },
      {
        "title": "Record Expense",
        "body": "Get expense account: GET /accounts/?classification=EXPENSE\nCreate expense: POST /expenses/ with paid_through_account, contact, date, currency, tax_amount_type, line_items"
      },
      {
        "title": "Record Payment Against Invoice",
        "body": "POST /payments/ with invoice_payments array linking to invoice IDs and amounts"
      },
      {
        "title": "Generate Financial Reports",
        "body": "Balance Sheet: GET /reports/balance-sheet/?currency=SAR&date=2025-12-31\nProfit & Loss: GET /reports/profit-and-loss/?currency=SAR&date_after=2025-01-01&date_before=2025-12-31\nCash Flow: GET /reports/cash-flow/?currency=SAR&date_after=2025-01-01&date_before=2025-12-31\nTrial Balance: GET /reports/trial-balance/?from_date=2025-01-01&to_date=2025-12-31"
      },
      {
        "title": "Quote to Invoice Conversion",
        "body": "Create quote: POST /quotes/\nConvert to invoice: POST /quotes/{id}/invoice/"
      },
      {
        "title": "Important Notes",
        "body": "Tax authority reporting is available for invoices, simplified invoices, and credit notes via POST /{resource}/{id}/tax-authority/report/\nSimplified invoices are for B2C transactions (no buyer tax registration required)\nStandard invoices are for B2B transactions\nPlace of supply field is UAE-specific (emirate codes or OUTSIDE_UAE)\nUse reference fields as unique identifiers to prevent duplicate creation"
      }
    ],
    "body": "Wafeq API Skill\n\nComplete API reference for the Wafeq accounting and e-invoicing platform.\n\nSetup\n\nTo use this skill, you need a Wafeq API key:\n\nLog in to Wafeq\nGo to Settings → API Keys (direct link)\nCreate a new API key\nSet the environment variable:\nexport WAFEQ_API_KEY='your-key-here'\n\nOr configure in ~/.openclaw/openclaw.json:\n{ \"skills\": { \"entries\": { \"wafeq-api\": { \"apiKey\": \"your-key-here\" } } } }\n\n\n⚠️ Security: Never hardcode your API key in code, prompts, or skill files. Always use the WAFEQ_API_KEY environment variable or configure it via skills.entries.wafeq-api.apiKey in ~/.openclaw/openclaw.json.\n\nYou can validate your setup by running scripts/setup.sh from the plugin root.\n\nQuick Reference\nBase URL: https://api.wafeq.com/v1/\nAuth (API Key): Authorization: Api-Key $WAFEQ_API_KEY — get keys at https://app.wafeq.com/c/api-keys\nAuth (OAuth2): Authorization: Bearer <access_token> — contact Wafeq for client credentials\nIdempotency: X-Wafeq-Idempotency-Key: <uuid-v4> on POST/PUT/PATCH/DELETE (1hr cache, replayed response includes X-Wafeq-Idempotent-Replayed: true)\nPagination: ?page=1&page_size=25 — response: { count, next, previous, results[] }\nContent-Type: application/json\nCurrency codes: ISO 4217 (full list in references/enums.md)\nEntity IDs: Prefixed strings (e.g. cnt_..., acc_..., inv_...)\nStandard CRUD Pattern\n\nMost resources follow: POST /{resource}/, GET /{resource}/, GET /{resource}/{id}/, PUT /{resource}/{id}/, PATCH /{resource}/{id}/, DELETE /{resource}/{id}/. Some also have GET /{resource}/{id}/download/ for PDF.\n\nLine items are nested: /{resource}/{parent_id}/line-items/ with the same CRUD pattern.\n\nReference Files\nFile\tContents\nreferences/core-concepts.md\tAuthentication (API Key + OAuth2), idempotency, error handling, quickstart guide, invoice creation walkthrough, use cases (B2B, B2C, e-commerce, expense management)\nreferences/enums.md\tAll 18 enum types: currencies, statuses, classifications, tax types, discount types, languages\nreferences/invoices.md\tStandard invoices, invoice line items, bulk invoices (api-invoices), simplified invoices, simplified invoice line items — full CRUD + schemas\nreferences/accounts-banking-contacts.md\tChart of accounts, bank accounts, bank ledger transactions, bank statement transactions, contacts, beneficiaries — full CRUD + schemas\nreferences/bills-expenses-notes.md\tBills, bill line items, expenses, credit notes, credit note line items, bulk credit notes, debit notes, debit note line items — full CRUD + schemas\nreferences/quotes-payments-remaining.md\tQuotes, payments, payment requests, payslips, items, files, manual journals, journal line items, reports (balance sheet, P&L, cash flow, trial balance), organization, tax rates, branches, cost centers, employees, projects, warehouses — full CRUD + schemas\nCommon Workflows\nCreate and Send an Invoice\nCreate contact: POST /contacts/\nGet revenue account: GET /accounts/?classification=REVENUE\nGet tax rates: GET /tax-rates/\nCreate invoice: POST /invoices/ (with line_items, contact, currency, invoice_date, invoice_due_date, invoice_number)\nReport to tax authority: POST /invoices/{id}/tax-authority/report/\nDownload PDF: GET /invoices/{id}/download/\nBulk Send Invoices (E-Commerce / High Volume)\nPOST /api-invoices/bulk_send/ with array of invoice objects including channels for email delivery\nResponse: { \"queued\": N }\nGenerate summary: GET /api-invoices/summary/\nRecord Expense\nGet expense account: GET /accounts/?classification=EXPENSE\nCreate expense: POST /expenses/ with paid_through_account, contact, date, currency, tax_amount_type, line_items\nRecord Payment Against Invoice\nPOST /payments/ with invoice_payments array linking to invoice IDs and amounts\nGenerate Financial Reports\nBalance Sheet: GET /reports/balance-sheet/?currency=SAR&date=2025-12-31\nProfit & Loss: GET /reports/profit-and-loss/?currency=SAR&date_after=2025-01-01&date_before=2025-12-31\nCash Flow: GET /reports/cash-flow/?currency=SAR&date_after=2025-01-01&date_before=2025-12-31\nTrial Balance: GET /reports/trial-balance/?from_date=2025-01-01&to_date=2025-12-31\nQuote to Invoice Conversion\nCreate quote: POST /quotes/\nConvert to invoice: POST /quotes/{id}/invoice/\nImportant Notes\nTax authority reporting is available for invoices, simplified invoices, and credit notes via POST /{resource}/{id}/tax-authority/report/\nSimplified invoices are for B2C transactions (no buyer tax registration required)\nStandard invoices are for B2B transactions\nPlace of supply field is UAE-specific (emirate codes or OUTSIDE_UAE)\nUse reference fields as unique identifiers to prevent duplicate creation"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/YordiLorenzo/wafeq-api",
    "publisherUrl": "https://clawhub.ai/YordiLorenzo/wafeq-api",
    "owner": "YordiLorenzo",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/wafeq-api",
    "downloadUrl": "https://openagent3.xyz/downloads/wafeq-api",
    "agentUrl": "https://openagent3.xyz/skills/wafeq-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wafeq-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wafeq-api/agent.md"
  }
}