{
  "schemaVersion": "1.0",
  "item": {
    "slug": "biver-builder",
    "name": "Biver Builder",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/RamaAditya49/biver-builder",
    "canonicalUrl": "https://clawhub.ai/RamaAditya49/biver-builder",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/biver-builder",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=biver-builder",
    "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-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/biver-builder"
    },
    "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/biver-builder",
    "agentPageUrl": "https://openagent3.xyz/skills/biver-builder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/biver-builder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/biver-builder/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": "Before You Install",
        "body": "Security Checklist\nBefore installing or supplying credentials, please review:\n\nCredential Required: This skill requires BIVER_API_KEY to operate\nStart with Test Keys: Use bvr_test_ prefix keys for initial testing — never use bvr_live_ keys until you trust the skill\nVerify Scopes: Check required API key scopes below and use least-privilege principle\nRotate Keys: Periodically rotate your API keys for security\nInspect Source: If using manual installation, inspect the GitHub repository code before cloning"
      },
      {
        "title": "Via ClawdHub (Recommended)",
        "body": "clawdhub install biver-builder"
      },
      {
        "title": "Manual",
        "body": "Warning: Cloning external repositories can introduce arbitrary code. Inspect the repository first before running:\n# Step 1: Review the source code\ngit clone https://github.com/RamaAditya49/biver-builder.git /tmp/biver-builder-review\n# Review files in /tmp/biver-builder-review before proceeding\n\n# Step 2: Only after review, install to your skills directory\ngit clone https://github.com/RamaAditya49/biver-builder.git ~/.openclaw/skills/biver-builder"
      },
      {
        "title": "Required Environment Variables",
        "body": "VariableDescriptionExampleBIVER_API_KEYYour Biver API keybvr_live_xxxxx or bvr_test_xxxxx"
      },
      {
        "title": "Optional Environment Variables",
        "body": "VariableDescriptionDefaultBIVER_API_BASE_URLCustom API base URLhttps://api.biver.id"
      },
      {
        "title": "Setting Up Credentials",
        "body": "Via OpenClaw Dashboard:\n\nNavigate to Settings > Environment Variables\nAdd BIVER_API_KEY with your API key value\n(Optional) Add BIVER_API_BASE_URL for custom endpoints\n\nSecurity Best Practices:\n\nUse bvr_test_ prefix keys for development/testing\nUse bvr_live_ prefix keys only in production after you trust the skill\nVerify required scopes before creating your API key — only grant minimum permissions needed\nNever commit API keys to version control\nRotate keys periodically\nDo not supply credentials until you have reviewed the skill or confirmed it from a verified source"
      },
      {
        "title": "How to Get Your API Key",
        "body": "Log in to Biver Dashboard\nGo to Settings > API Keys\nClick Generate New Key\nSelect required scopes (see Required Scopes section below — grant only what you need)\nChoose key type: bvr_test_ for testing, bvr_live_ for production\nCopy and store securely (shown only once)\n\nScope Recommendation: Start with read-only scopes (*:read) for testing. Add write scopes only when needed."
      },
      {
        "title": "Base URL",
        "body": "https://api.biver.id"
      },
      {
        "title": "Authentication Headers",
        "body": "// Use environment variables for security\nconst apiKey = process.env.BIVER_API_KEY;\n\n// Headers configuration\n{\n  'X-API-Key': apiKey,\n  'Authorization': `Bearer ${apiKey}`\n}"
      },
      {
        "title": "API Key Prefixes",
        "body": "PrefixEnvironmentUsagebvr_live_ProductionReal data operationsbvr_test_SandboxTesting without affecting real data"
      },
      {
        "title": "Endpoint Lookup",
        "body": "TaskEndpointMethodAuthScopeList pages/v1/pagesGETYespages:readCreate page/v1/pagesPOSTYespages:writeGet page/v1/pages/:idGETYespages:readUpdate page/v1/pages/:idPATCHYespages:writeDelete page/v1/pages/:idDELETEYespages:writeDeploy page/v1/pages/:id/deployPOSTYespages:writeList subdomains/v1/subdomainsGETYespages:readCreate subdomain/v1/subdomainsPOSTYespages:writeUpdate subdomain/v1/subdomains/:idPATCHYespages:writeDelete subdomain/v1/subdomains/:idDELETEYespages:writeList domains/v1/domainsGETYesdomains:readAdd custom domain/v1/domainsPOSTYesdomains:writeSet primary domain/v1/domains/:id/primaryPOSTYesdomains:writeDelete domain/v1/domains/:idDELETEYesdomains:writeList sections/v1/sectionsGETYessections:readCreate section/v1/sectionsPOSTYessections:writeUpdate section/v1/sections/:idPATCHYessections:writeDelete section/v1/sections/:idDELETEYessections:writeList products/v1/productsGETYesproducts:readCreate product/v1/productsPOSTYesproducts:writeUpdate product/v1/products/:idPATCHYesproducts:writeDelete product/v1/products/:idDELETEYesproducts:writeList forms/v1/formsGETYesforms:readCreate form/v1/formsPOSTYesforms:writeGet submissions/v1/forms/:id/submissionsGETYesforms:readSubmit form/v1/forms/:id/submitPOSTNo-List gallery/v1/galleryGETYesgallery:readUpload asset/v1/galleryPOSTYesgallery:readDelete asset/v1/gallery/:idDELETEYesgallery:readGet workspace/v1/workspace/settingsGETYesworkspace:readUpdate workspace/v1/workspace/settingsPUTYesworkspace:writeUpdate branding/v1/workspace/brandingPUTYesworkspace:writeUpdate SEO/v1/workspace/seoPUTYesworkspace:writeAI generate page/v1/ai/pagesPOSTYesai:generateAI generate section/v1/ai/sectionsPOSTYesai:generateHealth check/healthGETNo-"
      },
      {
        "title": "Required Scopes",
        "body": "ScopeDescriptionpages:readRead pagespages:writeCreate, update, delete pagessections:readRead sectionssections:writeCreate, update, delete sectionsproducts:readRead productsproducts:writeManage product catalogforms:readRead forms and submissionsforms:writeCreate/update formsgallery:readAccess gallery assetsdomains:readView custom domainsdomains:writeAdd/remove custom domainssubdomains:readView subdomainssubdomains:writeCreate/update/delete subdomainsworkspace:readRead workspace settingsworkspace:writeUpdate workspace settingsai:generateGenerate pages/sections with AI"
      },
      {
        "title": "Workflow 1: Create Landing Page with Subdomain",
        "body": "const API_KEY = process.env.BIVER_API_KEY;\nconst BASE_URL = process.env.BIVER_API_BASE_URL || 'https://api.biver.id';\n\n// Step 1: Create subdomain\nconst subdomain = await fetch(`${BASE_URL}/v1/subdomains`, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    subdomain: 'my-store',\n    title: 'Summer Sale 2026',\n    description: 'Our biggest sale event',\n    pathSlug: 'summer-sale'\n  })\n});\n// Result: my-store.lp.biver.id/summer-sale\n\n// Step 2: Create sections for the page\nconst section = await fetch(`${BASE_URL}/v1/sections?pageId=PAGE_ID`, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    type: 'hero',\n    name: 'Hero Section',\n    htmlContent: '<div class=\"hero\">...</div>',\n    cssContent: '.hero { ... }',\n    visible: true,\n    order: 0\n  })\n});\n\n// Step 3: Update subdomain status to publish\nawait fetch(`${BASE_URL}/v1/subdomains/${subdomainId}`, {\n  method: 'PATCH',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    status: 'published'\n  })\n});"
      },
      {
        "title": "Workflow 2: Setup Custom Domain",
        "body": "const API_KEY = process.env.BIVER_API_KEY;\nconst BASE_URL = process.env.BIVER_API_BASE_URL || 'https://api.biver.id';\n\n// Step 1: Add custom domain\nconst domain = await fetch(`${BASE_URL}/v1/domains`, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    domain: 'example.com',\n    isPrimary: true,\n    landingPageId: 'page_123'\n  })\n});\n\n// Step 2: Configure DNS (outside API)\n// Add verification token to DNS records\n// Token provided in response: verificationToken\n\n// Step 3: Set as primary (optional)\nawait fetch(`${BASE_URL}/v1/domains/${domainId}/primary`, {\n  method: 'POST',\n  headers: { 'X-API-Key': API_KEY }\n});"
      },
      {
        "title": "Workflow 3: Generate Page with AI",
        "body": "const API_KEY = process.env.BIVER_API_KEY;\nconst BASE_URL = process.env.BIVER_API_BASE_URL || 'https://api.biver.id';\n\nconst aiPage = await fetch(`${BASE_URL}/v1/ai/pages`, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    prompt: 'Create a landing page for a coffee shop called Morning Brew',\n    style: 'modern',\n    industry: 'fnb',\n    language: 'en'\n  })\n});\n// Returns: title, content.sections[], suggestedSlug"
      },
      {
        "title": "Workflow 4: Upload Asset and Create Page",
        "body": "const API_KEY = process.env.BIVER_API_KEY;\nconst BASE_URL = process.env.BIVER_API_BASE_URL || 'https://api.biver.id';\n\n// Step 1: Upload image to gallery\nconst formData = new FormData();\nformData.append('file', imageFile);\n\nconst asset = await fetch(`${BASE_URL}/v1/gallery`, {\n  method: 'POST',\n  headers: { 'X-API-Key': API_KEY },\n  body: formData\n});\n\n// Step 2: Use asset URL in page content\nconst page = await fetch(`${BASE_URL}/v1/pages`, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    title: 'Product Catalog',\n    slug: 'catalog',\n    content: {\n      sections: [{\n        type: 'image',\n        imageUrl: asset.data.url\n      }]\n    }\n  })\n});"
      },
      {
        "title": "Pages API",
        "body": "Base: /v1/pages | Scope: pages:read / pages:write\n\nEndpointMethodDescriptionQuery Params / Body/v1/pagesGETList pagespage, limit, status, search/v1/pagesPOSTCreate pagetitle, slug, content, meta, status/v1/pages/:idGETGet page detail-/v1/pages/:idPATCHUpdate pagePartial body/v1/pages/:idDELETEDelete page-/v1/pages/:id/deployPOSTPublish page-\n\nPage Object:\n\n{\n  \"id\": \"page_123\",\n  \"title\": \"Summer Sale\",\n  \"slug\": \"summer-sale\",\n  \"status\": \"published\",\n  \"publishedAt_ms\": 1708704000000,\n  \"createdAt_ms\": 1708617600000\n}\n\nCreate Page Body:\n\n{\n  \"title\": \"Page Title\",\n  \"slug\": \"page-slug\",\n  \"content\": { \"sections\": [] },\n  \"meta\": {\n    \"description\": \"SEO description\",\n    \"keywords\": \"keyword1, keyword2\"\n  },\n  \"status\": \"draft\"\n}"
      },
      {
        "title": "Sections API",
        "body": "Base: /v1/sections | Scope: sections:read / sections:write\n\nEndpointMethodDescription/v1/sectionsGETList sections (?type=, ?pageId=)/v1/sectionsPOSTCreate section/v1/sections/:idGETGet section detail/v1/sections/:idPATCHUpdate section/v1/sections/:idDELETEDelete section\n\nSection Types: hero, text, image, image_slider, faq, features, pricing, cta, testimonials, contact\n\nCreate Section Body:\n\n{\n  \"type\": \"hero\",\n  \"name\": \"Hero Section\",\n  \"htmlContent\": \"<div>...</div>\",\n  \"cssContent\": \".class { ... }\",\n  \"visible\": true,\n  \"order\": 0,\n  \"customClass\": \"my-custom\",\n  \"anchorId\": \"hero\"\n}"
      },
      {
        "title": "Products API",
        "body": "Base: /v1/products | Scope: products:read / products:write\n\nEndpointMethodDescription/v1/productsGETList products (?page, ?limit, ?category)/v1/productsPOSTCreate product/v1/products/:idGETGet product detail/v1/products/:idPATCHUpdate product/v1/products/:idDELETEDelete product\n\nCreate Product Body:\n\n{\n  \"name\": \"Product Name\",\n  \"description\": \"Full description\",\n  \"price\": 99000,\n  \"compareAtPrice\": 149000,\n  \"sku\": \"PROD-001\",\n  \"stock\": 100,\n  \"category\": \"electronics\",\n  \"images\": [\"url1\", \"url2\"],\n  \"isActive\": true\n}"
      },
      {
        "title": "Forms API",
        "body": "Base: /v1/forms | Scope: forms:read / forms:write\n\nEndpointMethodDescriptionAuth/v1/formsGETList formsYes/v1/formsPOSTCreate formYes/v1/forms/:idGETGet form detailYes/v1/forms/:idPATCHUpdate formYes/v1/forms/:idDELETEDelete formYes/v1/forms/:id/submitPOSTSubmit formNo/v1/forms/:id/submissionsGETGet submissionsYes\n\nSubmit Form Body (Public - No Auth):\n\n{\n  \"data\": {\n    \"name\": \"John Doe\",\n    \"email\": \"john@example.com\",\n    \"message\": \"Hello!\"\n  }\n}"
      },
      {
        "title": "Gallery API",
        "body": "Base: /v1/gallery | Scope: gallery:read\n\nEndpointMethodDescription/v1/galleryGETList items (`?type=image/v1/galleryPOSTUpload asset (multipart/form-data)/v1/gallery/:idGETGet asset detail/v1/gallery/:idDELETEDelete asset\n\nGallery Item Response:\n\n{\n  \"id\": \"gallery_123\",\n  \"filename\": \"hero-image.png\",\n  \"url\": \"https://cdn.biver.id/assets/xxx.png\",\n  \"type\": \"image\",\n  \"mimeType\": \"image/png\",\n  \"size\": 102400,\n  \"width\": 1920,\n  \"height\": 1080\n}"
      },
      {
        "title": "Subdomains API",
        "body": "Base: /v1/subdomains | Scope: pages:read / pages:write\n\nSubdomains create landing pages at {name}.lp.biver.id.\n\nEndpointMethodDescription/v1/subdomainsGETList subdomains (?page, ?limit, ?status)/v1/subdomainsPOSTCreate subdomain/v1/subdomains/:idGETGet subdomain detail/v1/subdomains/:idPATCHUpdate subdomain/v1/subdomains/:idDELETEDelete subdomain\n\nCreate Subdomain Body:\n\n{\n  \"subdomain\": \"my-store\",\n  \"title\": \"My Store\",\n  \"description\": \"Store description\",\n  \"pathSlug\": \"promo\"\n}\n\nSubdomain Rules:\n\nsubdomain: 3-63 chars, lowercase a-z, 0-9, hyphens\npathSlug: Optional, creates additional URL at {subdomain}.lp.biver.id/{pathSlug}\nstatus: draft, published, archived\n\nUpdate Subdomain Fields:\n\nFieldTypeDescriptiontitlestringPage titledescriptionstringPage descriptionpathSlugstring | nullURL path (null to remove)statusstringdraft, published, archivedmetaTitlestringSEO titlemetaDescriptionstringSEO descriptionfaviconstring (URL)Favicon URLogImagestring (URL)Open Graph imagenoIndexbooleanPrevent indexingnoFollowbooleanPrevent link following"
      },
      {
        "title": "Domains API (Custom Domains)",
        "body": "Base: /v1/domains | Scope: domains:read / domains:write\n\nEndpointMethodDescription/v1/domainsGETList custom domains/v1/domainsPOSTAdd custom domain/v1/domains/:idGETGet domain detail (includes DNS records)/v1/domains/:idPATCHUpdate domain/v1/domains/:idDELETERemove domain/v1/domains/:id/primaryPOSTSet as primary domain\n\nAdd Domain Body:\n\n{\n  \"domain\": \"example.com\",\n  \"isPrimary\": true,\n  \"landingPageId\": \"page_123\"\n}\n\nDomain Response:\n\n{\n  \"id\": \"domain_123\",\n  \"domain\": \"example.com\",\n  \"isPrimary\": true,\n  \"isVerified\": true,\n  \"sslStatus\": \"active\",\n  \"verificationStatus\": \"verified\",\n  \"verificationToken\": \"bvr_verify_xxx\",\n  \"landingPageId\": \"page_123\"\n}\n\nDNS Configuration (CNAME Setup):\n\nAI Agent: When helping users set up custom domains, explain the following CNAME configuration steps clearly.\n\nAfter adding a custom domain via the API, configure your DNS records with your DNS provider:\n\nPoint your CNAME record to:\ncustom.biver.id\n\n\n\nExample Configuration:\nRecord TypeName/HostValue/TargetCNAMEshop (or www)custom.biver.id\n\n\nWhat this does:\n\nIf your domain is shop.example.com, add a CNAME record with name shop pointing to custom.biver.id\nIf using apex domain (example.com), check if your DNS provider supports CNAME flattening or use A records as provided in the domain detail response\n\n\n\nPropagation: DNS changes may take 5-60 minutes to propagate globally."
      },
      {
        "title": "Workspace API",
        "body": "Base: /v1/workspace | Scope: workspace:read / workspace:write\n\nEndpointMethodDescription/v1/workspace/settingsGETGet workspace settings/v1/workspace/settingsPUTUpdate settings/v1/workspace/brandingPUTUpdate branding/v1/workspace/seoPUTUpdate SEO settings/v1/workspace/publicGETPublic workspace info (no auth)\n\nWorkspace Settings:\n\n{\n  \"id\": \"workspace_123\",\n  \"name\": \"My Workspace\",\n  \"slug\": \"my-workspace\",\n  \"plan\": \"ARCHITECT\",\n  \"settings\": {\n    \"timezone\": \"Asia/Jakarta\",\n    \"language\": \"en\",\n    \"currency\": \"USD\"\n  },\n  \"branding\": {\n    \"logo\": \"https://cdn.biver.id/logos/xxx.png\",\n    \"primaryColor\": \"#3B82F6\",\n    \"fontFamily\": \"Inter\"\n  },\n  \"seo\": {\n    \"title\": \"My Business\",\n    \"description\": \"We build great landing pages\",\n    \"keywords\": \"landing page, builder\"\n  }\n}"
      },
      {
        "title": "AI Generation API",
        "body": "Base: /v1/ai | Scope: ai:generate\n\nEndpointMethodDescription/v1/ai/pagesPOSTGenerate page with AI/v1/ai/sectionsPOSTGenerate section with AI/v1/ai/contextGETGet AI templates/context\n\nGenerate Page Body:\n\n{\n  \"prompt\": \"Create a landing page for a coffee shop\",\n  \"style\": \"modern\",\n  \"industry\": \"fnb\",\n  \"language\": \"en\"\n}\n\nStyle Options: modern, minimal, bold, elegant, playful\nIndustry Options: saas, fnb, ecommerce, agency, healthcare, education, finance, realestate"
      },
      {
        "title": "Error Codes",
        "body": "CodeHTTPDescriptionSolutionUNAUTHORIZED401Invalid or missing API keyCheck authentication headerKEY_EXPIRED401API key has expiredGenerate new key from dashboardKEY_REVOKED401API key was revokedGenerate new key from dashboardFORBIDDEN403Insufficient scope permissionCheck API key scopesNOT_FOUND404Resource not foundVerify resource IDDUPLICATE_SUBDOMAIN409Subdomain already takenChoose different subdomainDUPLICATE_DOMAIN409Domain already existsUse different domainVALIDATION_ERROR422Request validation failedCheck request body formatRATE_LIMIT_EXCEEDED429Too many requestsWait for reset or upgrade planINTERNAL_ERROR500Server errorRetry or contact support\n\nError Response Format:\n\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"Request validation failed\",\n    \"details\": {\n      \"fields\": [\n        { \"field\": \"title\", \"message\": \"Title is required\", \"code\": \"required\" }\n      ]\n    }\n  }\n}"
      },
      {
        "title": "Rate Limits",
        "body": "PlanRequests/MinuteTarget UserSCOUT30Free tierCRAFTSMAN60Small businessesARCHITECT120Growing businessesENGINEER300Medium businessesFOUNDER600AgenciesCHIEF2000Enterprise\n\nRate Limit Headers:\n\nX-RateLimit-Limit: 60\nX-RateLimit-Remaining: 45\nX-RateLimit-Reset: 1708704000000\nX-RateLimit-Plan: CRAFTSMAN"
      },
      {
        "title": "Response Format",
        "body": "All responses follow this structure:\n\nSuccess:\n\n{\n  \"success\": true,\n  \"data\": { ... }\n}\n\nPaginated:\n\n{\n  \"success\": true,\n  \"data\": {\n    \"items\": [...],\n    \"pagination\": {\n      \"page\": 1,\n      \"limit\": 10,\n      \"total\": 25,\n      \"totalPages\": 3\n    }\n  }\n}"
      },
      {
        "title": "API Key Safety",
        "body": "Never hardcode API keys in source code\nAlways use environment variables or secure secret stores\nUse test keys (bvr_test_) for development\nLimit scopes to minimum required for your use case"
      },
      {
        "title": "DNS Configuration",
        "body": "Custom domain setup requires DNS changes outside this API\nAlways verify domain ownership before making DNS changes\nKeep DNS verification tokens secure"
      },
      {
        "title": "Rate Limiting",
        "body": "Respect rate limits based on your plan\nImplement retry logic with exponential backoff\nMonitor X-RateLimit-Remaining header"
      },
      {
        "title": "Support",
        "body": "Dashboard: https://biver.id/dashboard\nEmail: support@biver.id\nHealth Check: GET /health (no auth required)"
      }
    ],
    "body": "Biver Builder API Skill\nBefore You Install\n\nSecurity Checklist\n\nBefore installing or supplying credentials, please review:\n\nCredential Required: This skill requires BIVER_API_KEY to operate\nStart with Test Keys: Use bvr_test_ prefix keys for initial testing — never use bvr_live_ keys until you trust the skill\nVerify Scopes: Check required API key scopes below and use least-privilege principle\nRotate Keys: Periodically rotate your API keys for security\nInspect Source: If using manual installation, inspect the GitHub repository code before cloning\nInstallation\nVia ClawdHub (Recommended)\nclawdhub install biver-builder\n\nManual\n\nWarning: Cloning external repositories can introduce arbitrary code. Inspect the repository first before running:\n\n# Step 1: Review the source code\ngit clone https://github.com/RamaAditya49/biver-builder.git /tmp/biver-builder-review\n# Review files in /tmp/biver-builder-review before proceeding\n\n# Step 2: Only after review, install to your skills directory\ngit clone https://github.com/RamaAditya49/biver-builder.git ~/.openclaw/skills/biver-builder\n\nCredential Configuration\nRequired Environment Variables\nVariable\tDescription\tExample\nBIVER_API_KEY\tYour Biver API key\tbvr_live_xxxxx or bvr_test_xxxxx\nOptional Environment Variables\nVariable\tDescription\tDefault\nBIVER_API_BASE_URL\tCustom API base URL\thttps://api.biver.id\nSetting Up Credentials\n\nVia OpenClaw Dashboard:\n\nNavigate to Settings > Environment Variables\nAdd BIVER_API_KEY with your API key value\n(Optional) Add BIVER_API_BASE_URL for custom endpoints\n\nSecurity Best Practices:\n\nUse bvr_test_ prefix keys for development/testing\nUse bvr_live_ prefix keys only in production after you trust the skill\nVerify required scopes before creating your API key — only grant minimum permissions needed\nNever commit API keys to version control\nRotate keys periodically\nDo not supply credentials until you have reviewed the skill or confirmed it from a verified source\nHow to Get Your API Key\nLog in to Biver Dashboard\nGo to Settings > API Keys\nClick Generate New Key\nSelect required scopes (see Required Scopes section below — grant only what you need)\nChoose key type: bvr_test_ for testing, bvr_live_ for production\nCopy and store securely (shown only once)\n\nScope Recommendation: Start with read-only scopes (*:read) for testing. Add write scopes only when needed.\n\nQuick Reference\nBase URL\nhttps://api.biver.id\n\nAuthentication Headers\n// Use environment variables for security\nconst apiKey = process.env.BIVER_API_KEY;\n\n// Headers configuration\n{\n  'X-API-Key': apiKey,\n  'Authorization': `Bearer ${apiKey}`\n}\n\nAPI Key Prefixes\nPrefix\tEnvironment\tUsage\nbvr_live_\tProduction\tReal data operations\nbvr_test_\tSandbox\tTesting without affecting real data\nEndpoint Lookup\nTask\tEndpoint\tMethod\tAuth\tScope\nList pages\t/v1/pages\tGET\tYes\tpages:read\nCreate page\t/v1/pages\tPOST\tYes\tpages:write\nGet page\t/v1/pages/:id\tGET\tYes\tpages:read\nUpdate page\t/v1/pages/:id\tPATCH\tYes\tpages:write\nDelete page\t/v1/pages/:id\tDELETE\tYes\tpages:write\nDeploy page\t/v1/pages/:id/deploy\tPOST\tYes\tpages:write\nList subdomains\t/v1/subdomains\tGET\tYes\tpages:read\nCreate subdomain\t/v1/subdomains\tPOST\tYes\tpages:write\nUpdate subdomain\t/v1/subdomains/:id\tPATCH\tYes\tpages:write\nDelete subdomain\t/v1/subdomains/:id\tDELETE\tYes\tpages:write\nList domains\t/v1/domains\tGET\tYes\tdomains:read\nAdd custom domain\t/v1/domains\tPOST\tYes\tdomains:write\nSet primary domain\t/v1/domains/:id/primary\tPOST\tYes\tdomains:write\nDelete domain\t/v1/domains/:id\tDELETE\tYes\tdomains:write\nList sections\t/v1/sections\tGET\tYes\tsections:read\nCreate section\t/v1/sections\tPOST\tYes\tsections:write\nUpdate section\t/v1/sections/:id\tPATCH\tYes\tsections:write\nDelete section\t/v1/sections/:id\tDELETE\tYes\tsections:write\nList products\t/v1/products\tGET\tYes\tproducts:read\nCreate product\t/v1/products\tPOST\tYes\tproducts:write\nUpdate product\t/v1/products/:id\tPATCH\tYes\tproducts:write\nDelete product\t/v1/products/:id\tDELETE\tYes\tproducts:write\nList forms\t/v1/forms\tGET\tYes\tforms:read\nCreate form\t/v1/forms\tPOST\tYes\tforms:write\nGet submissions\t/v1/forms/:id/submissions\tGET\tYes\tforms:read\nSubmit form\t/v1/forms/:id/submit\tPOST\tNo\t-\nList gallery\t/v1/gallery\tGET\tYes\tgallery:read\nUpload asset\t/v1/gallery\tPOST\tYes\tgallery:read\nDelete asset\t/v1/gallery/:id\tDELETE\tYes\tgallery:read\nGet workspace\t/v1/workspace/settings\tGET\tYes\tworkspace:read\nUpdate workspace\t/v1/workspace/settings\tPUT\tYes\tworkspace:write\nUpdate branding\t/v1/workspace/branding\tPUT\tYes\tworkspace:write\nUpdate SEO\t/v1/workspace/seo\tPUT\tYes\tworkspace:write\nAI generate page\t/v1/ai/pages\tPOST\tYes\tai:generate\nAI generate section\t/v1/ai/sections\tPOST\tYes\tai:generate\nHealth check\t/health\tGET\tNo\t-\nAuthentication\nRequired Scopes\nScope\tDescription\npages:read\tRead pages\npages:write\tCreate, update, delete pages\nsections:read\tRead sections\nsections:write\tCreate, update, delete sections\nproducts:read\tRead products\nproducts:write\tManage product catalog\nforms:read\tRead forms and submissions\nforms:write\tCreate/update forms\ngallery:read\tAccess gallery assets\ndomains:read\tView custom domains\ndomains:write\tAdd/remove custom domains\nsubdomains:read\tView subdomains\nsubdomains:write\tCreate/update/delete subdomains\nworkspace:read\tRead workspace settings\nworkspace:write\tUpdate workspace settings\nai:generate\tGenerate pages/sections with AI\nCommon Workflows\nWorkflow 1: Create Landing Page with Subdomain\nconst API_KEY = process.env.BIVER_API_KEY;\nconst BASE_URL = process.env.BIVER_API_BASE_URL || 'https://api.biver.id';\n\n// Step 1: Create subdomain\nconst subdomain = await fetch(`${BASE_URL}/v1/subdomains`, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    subdomain: 'my-store',\n    title: 'Summer Sale 2026',\n    description: 'Our biggest sale event',\n    pathSlug: 'summer-sale'\n  })\n});\n// Result: my-store.lp.biver.id/summer-sale\n\n// Step 2: Create sections for the page\nconst section = await fetch(`${BASE_URL}/v1/sections?pageId=PAGE_ID`, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    type: 'hero',\n    name: 'Hero Section',\n    htmlContent: '<div class=\"hero\">...</div>',\n    cssContent: '.hero { ... }',\n    visible: true,\n    order: 0\n  })\n});\n\n// Step 3: Update subdomain status to publish\nawait fetch(`${BASE_URL}/v1/subdomains/${subdomainId}`, {\n  method: 'PATCH',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    status: 'published'\n  })\n});\n\nWorkflow 2: Setup Custom Domain\nconst API_KEY = process.env.BIVER_API_KEY;\nconst BASE_URL = process.env.BIVER_API_BASE_URL || 'https://api.biver.id';\n\n// Step 1: Add custom domain\nconst domain = await fetch(`${BASE_URL}/v1/domains`, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    domain: 'example.com',\n    isPrimary: true,\n    landingPageId: 'page_123'\n  })\n});\n\n// Step 2: Configure DNS (outside API)\n// Add verification token to DNS records\n// Token provided in response: verificationToken\n\n// Step 3: Set as primary (optional)\nawait fetch(`${BASE_URL}/v1/domains/${domainId}/primary`, {\n  method: 'POST',\n  headers: { 'X-API-Key': API_KEY }\n});\n\nWorkflow 3: Generate Page with AI\nconst API_KEY = process.env.BIVER_API_KEY;\nconst BASE_URL = process.env.BIVER_API_BASE_URL || 'https://api.biver.id';\n\nconst aiPage = await fetch(`${BASE_URL}/v1/ai/pages`, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    prompt: 'Create a landing page for a coffee shop called Morning Brew',\n    style: 'modern',\n    industry: 'fnb',\n    language: 'en'\n  })\n});\n// Returns: title, content.sections[], suggestedSlug\n\nWorkflow 4: Upload Asset and Create Page\nconst API_KEY = process.env.BIVER_API_KEY;\nconst BASE_URL = process.env.BIVER_API_BASE_URL || 'https://api.biver.id';\n\n// Step 1: Upload image to gallery\nconst formData = new FormData();\nformData.append('file', imageFile);\n\nconst asset = await fetch(`${BASE_URL}/v1/gallery`, {\n  method: 'POST',\n  headers: { 'X-API-Key': API_KEY },\n  body: formData\n});\n\n// Step 2: Use asset URL in page content\nconst page = await fetch(`${BASE_URL}/v1/pages`, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'X-API-Key': API_KEY\n  },\n  body: JSON.stringify({\n    title: 'Product Catalog',\n    slug: 'catalog',\n    content: {\n      sections: [{\n        type: 'image',\n        imageUrl: asset.data.url\n      }]\n    }\n  })\n});\n\nAPI Reference\nPages API\n\nBase: /v1/pages | Scope: pages:read / pages:write\n\nEndpoint\tMethod\tDescription\tQuery Params / Body\n/v1/pages\tGET\tList pages\tpage, limit, status, search\n/v1/pages\tPOST\tCreate page\ttitle, slug, content, meta, status\n/v1/pages/:id\tGET\tGet page detail\t-\n/v1/pages/:id\tPATCH\tUpdate page\tPartial body\n/v1/pages/:id\tDELETE\tDelete page\t-\n/v1/pages/:id/deploy\tPOST\tPublish page\t-\n\nPage Object:\n\n{\n  \"id\": \"page_123\",\n  \"title\": \"Summer Sale\",\n  \"slug\": \"summer-sale\",\n  \"status\": \"published\",\n  \"publishedAt_ms\": 1708704000000,\n  \"createdAt_ms\": 1708617600000\n}\n\n\nCreate Page Body:\n\n{\n  \"title\": \"Page Title\",\n  \"slug\": \"page-slug\",\n  \"content\": { \"sections\": [] },\n  \"meta\": {\n    \"description\": \"SEO description\",\n    \"keywords\": \"keyword1, keyword2\"\n  },\n  \"status\": \"draft\"\n}\n\nSections API\n\nBase: /v1/sections | Scope: sections:read / sections:write\n\nEndpoint\tMethod\tDescription\n/v1/sections\tGET\tList sections (?type=, ?pageId=)\n/v1/sections\tPOST\tCreate section\n/v1/sections/:id\tGET\tGet section detail\n/v1/sections/:id\tPATCH\tUpdate section\n/v1/sections/:id\tDELETE\tDelete section\n\nSection Types: hero, text, image, image_slider, faq, features, pricing, cta, testimonials, contact\n\nCreate Section Body:\n\n{\n  \"type\": \"hero\",\n  \"name\": \"Hero Section\",\n  \"htmlContent\": \"<div>...</div>\",\n  \"cssContent\": \".class { ... }\",\n  \"visible\": true,\n  \"order\": 0,\n  \"customClass\": \"my-custom\",\n  \"anchorId\": \"hero\"\n}\n\nProducts API\n\nBase: /v1/products | Scope: products:read / products:write\n\nEndpoint\tMethod\tDescription\n/v1/products\tGET\tList products (?page, ?limit, ?category)\n/v1/products\tPOST\tCreate product\n/v1/products/:id\tGET\tGet product detail\n/v1/products/:id\tPATCH\tUpdate product\n/v1/products/:id\tDELETE\tDelete product\n\nCreate Product Body:\n\n{\n  \"name\": \"Product Name\",\n  \"description\": \"Full description\",\n  \"price\": 99000,\n  \"compareAtPrice\": 149000,\n  \"sku\": \"PROD-001\",\n  \"stock\": 100,\n  \"category\": \"electronics\",\n  \"images\": [\"url1\", \"url2\"],\n  \"isActive\": true\n}\n\nForms API\n\nBase: /v1/forms | Scope: forms:read / forms:write\n\nEndpoint\tMethod\tDescription\tAuth\n/v1/forms\tGET\tList forms\tYes\n/v1/forms\tPOST\tCreate form\tYes\n/v1/forms/:id\tGET\tGet form detail\tYes\n/v1/forms/:id\tPATCH\tUpdate form\tYes\n/v1/forms/:id\tDELETE\tDelete form\tYes\n/v1/forms/:id/submit\tPOST\tSubmit form\tNo\n/v1/forms/:id/submissions\tGET\tGet submissions\tYes\n\nSubmit Form Body (Public - No Auth):\n\n{\n  \"data\": {\n    \"name\": \"John Doe\",\n    \"email\": \"john@example.com\",\n    \"message\": \"Hello!\"\n  }\n}\n\nGallery API\n\nBase: /v1/gallery | Scope: gallery:read\n\nEndpoint\tMethod\tDescription\n/v1/gallery\tGET\tList items (`?type=image\n/v1/gallery\tPOST\tUpload asset (multipart/form-data)\n/v1/gallery/:id\tGET\tGet asset detail\n/v1/gallery/:id\tDELETE\tDelete asset\n\nGallery Item Response:\n\n{\n  \"id\": \"gallery_123\",\n  \"filename\": \"hero-image.png\",\n  \"url\": \"https://cdn.biver.id/assets/xxx.png\",\n  \"type\": \"image\",\n  \"mimeType\": \"image/png\",\n  \"size\": 102400,\n  \"width\": 1920,\n  \"height\": 1080\n}\n\nSubdomains API\n\nBase: /v1/subdomains | Scope: pages:read / pages:write\n\nSubdomains create landing pages at {name}.lp.biver.id.\n\nEndpoint\tMethod\tDescription\n/v1/subdomains\tGET\tList subdomains (?page, ?limit, ?status)\n/v1/subdomains\tPOST\tCreate subdomain\n/v1/subdomains/:id\tGET\tGet subdomain detail\n/v1/subdomains/:id\tPATCH\tUpdate subdomain\n/v1/subdomains/:id\tDELETE\tDelete subdomain\n\nCreate Subdomain Body:\n\n{\n  \"subdomain\": \"my-store\",\n  \"title\": \"My Store\",\n  \"description\": \"Store description\",\n  \"pathSlug\": \"promo\"\n}\n\n\nSubdomain Rules:\n\nsubdomain: 3-63 chars, lowercase a-z, 0-9, hyphens\npathSlug: Optional, creates additional URL at {subdomain}.lp.biver.id/{pathSlug}\nstatus: draft, published, archived\n\nUpdate Subdomain Fields:\n\nField\tType\tDescription\ntitle\tstring\tPage title\ndescription\tstring\tPage description\npathSlug\tstring | null\tURL path (null to remove)\nstatus\tstring\tdraft, published, archived\nmetaTitle\tstring\tSEO title\nmetaDescription\tstring\tSEO description\nfavicon\tstring (URL)\tFavicon URL\nogImage\tstring (URL)\tOpen Graph image\nnoIndex\tboolean\tPrevent indexing\nnoFollow\tboolean\tPrevent link following\nDomains API (Custom Domains)\n\nBase: /v1/domains | Scope: domains:read / domains:write\n\nEndpoint\tMethod\tDescription\n/v1/domains\tGET\tList custom domains\n/v1/domains\tPOST\tAdd custom domain\n/v1/domains/:id\tGET\tGet domain detail (includes DNS records)\n/v1/domains/:id\tPATCH\tUpdate domain\n/v1/domains/:id\tDELETE\tRemove domain\n/v1/domains/:id/primary\tPOST\tSet as primary domain\n\nAdd Domain Body:\n\n{\n  \"domain\": \"example.com\",\n  \"isPrimary\": true,\n  \"landingPageId\": \"page_123\"\n}\n\n\nDomain Response:\n\n{\n  \"id\": \"domain_123\",\n  \"domain\": \"example.com\",\n  \"isPrimary\": true,\n  \"isVerified\": true,\n  \"sslStatus\": \"active\",\n  \"verificationStatus\": \"verified\",\n  \"verificationToken\": \"bvr_verify_xxx\",\n  \"landingPageId\": \"page_123\"\n}\n\n\nDNS Configuration (CNAME Setup):\n\nAI Agent: When helping users set up custom domains, explain the following CNAME configuration steps clearly.\n\nAfter adding a custom domain via the API, configure your DNS records with your DNS provider:\n\nPoint your CNAME record to:\n\ncustom.biver.id\n\n\nExample Configuration:\n\nRecord Type\tName/Host\tValue/Target\nCNAME\tshop (or www)\tcustom.biver.id\n\nWhat this does:\n\nIf your domain is shop.example.com, add a CNAME record with name shop pointing to custom.biver.id\nIf using apex domain (example.com), check if your DNS provider supports CNAME flattening or use A records as provided in the domain detail response\n\nPropagation: DNS changes may take 5-60 minutes to propagate globally.\n\nWorkspace API\n\nBase: /v1/workspace | Scope: workspace:read / workspace:write\n\nEndpoint\tMethod\tDescription\n/v1/workspace/settings\tGET\tGet workspace settings\n/v1/workspace/settings\tPUT\tUpdate settings\n/v1/workspace/branding\tPUT\tUpdate branding\n/v1/workspace/seo\tPUT\tUpdate SEO settings\n/v1/workspace/public\tGET\tPublic workspace info (no auth)\n\nWorkspace Settings:\n\n{\n  \"id\": \"workspace_123\",\n  \"name\": \"My Workspace\",\n  \"slug\": \"my-workspace\",\n  \"plan\": \"ARCHITECT\",\n  \"settings\": {\n    \"timezone\": \"Asia/Jakarta\",\n    \"language\": \"en\",\n    \"currency\": \"USD\"\n  },\n  \"branding\": {\n    \"logo\": \"https://cdn.biver.id/logos/xxx.png\",\n    \"primaryColor\": \"#3B82F6\",\n    \"fontFamily\": \"Inter\"\n  },\n  \"seo\": {\n    \"title\": \"My Business\",\n    \"description\": \"We build great landing pages\",\n    \"keywords\": \"landing page, builder\"\n  }\n}\n\nAI Generation API\n\nBase: /v1/ai | Scope: ai:generate\n\nEndpoint\tMethod\tDescription\n/v1/ai/pages\tPOST\tGenerate page with AI\n/v1/ai/sections\tPOST\tGenerate section with AI\n/v1/ai/context\tGET\tGet AI templates/context\n\nGenerate Page Body:\n\n{\n  \"prompt\": \"Create a landing page for a coffee shop\",\n  \"style\": \"modern\",\n  \"industry\": \"fnb\",\n  \"language\": \"en\"\n}\n\n\nStyle Options: modern, minimal, bold, elegant, playful Industry Options: saas, fnb, ecommerce, agency, healthcare, education, finance, realestate\n\nError Codes\nCode\tHTTP\tDescription\tSolution\nUNAUTHORIZED\t401\tInvalid or missing API key\tCheck authentication header\nKEY_EXPIRED\t401\tAPI key has expired\tGenerate new key from dashboard\nKEY_REVOKED\t401\tAPI key was revoked\tGenerate new key from dashboard\nFORBIDDEN\t403\tInsufficient scope permission\tCheck API key scopes\nNOT_FOUND\t404\tResource not found\tVerify resource ID\nDUPLICATE_SUBDOMAIN\t409\tSubdomain already taken\tChoose different subdomain\nDUPLICATE_DOMAIN\t409\tDomain already exists\tUse different domain\nVALIDATION_ERROR\t422\tRequest validation failed\tCheck request body format\nRATE_LIMIT_EXCEEDED\t429\tToo many requests\tWait for reset or upgrade plan\nINTERNAL_ERROR\t500\tServer error\tRetry or contact support\n\nError Response Format:\n\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"Request validation failed\",\n    \"details\": {\n      \"fields\": [\n        { \"field\": \"title\", \"message\": \"Title is required\", \"code\": \"required\" }\n      ]\n    }\n  }\n}\n\nRate Limits\nPlan\tRequests/Minute\tTarget User\nSCOUT\t30\tFree tier\nCRAFTSMAN\t60\tSmall businesses\nARCHITECT\t120\tGrowing businesses\nENGINEER\t300\tMedium businesses\nFOUNDER\t600\tAgencies\nCHIEF\t2000\tEnterprise\n\nRate Limit Headers:\n\nX-RateLimit-Limit: 60\nX-RateLimit-Remaining: 45\nX-RateLimit-Reset: 1708704000000\nX-RateLimit-Plan: CRAFTSMAN\n\nResponse Format\n\nAll responses follow this structure:\n\nSuccess:\n\n{\n  \"success\": true,\n  \"data\": { ... }\n}\n\n\nPaginated:\n\n{\n  \"success\": true,\n  \"data\": {\n    \"items\": [...],\n    \"pagination\": {\n      \"page\": 1,\n      \"limit\": 10,\n      \"total\": 25,\n      \"totalPages\": 3\n    }\n  }\n}\n\nSecurity Considerations\nAPI Key Safety\nNever hardcode API keys in source code\nAlways use environment variables or secure secret stores\nUse test keys (bvr_test_) for development\nLimit scopes to minimum required for your use case\nDNS Configuration\nCustom domain setup requires DNS changes outside this API\nAlways verify domain ownership before making DNS changes\nKeep DNS verification tokens secure\nRate Limiting\nRespect rate limits based on your plan\nImplement retry logic with exponential backoff\nMonitor X-RateLimit-Remaining header\nSupport\nDashboard: https://biver.id/dashboard\nEmail: support@biver.id\nHealth Check: GET /health (no auth required)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/RamaAditya49/biver-builder",
    "publisherUrl": "https://clawhub.ai/RamaAditya49/biver-builder",
    "owner": "RamaAditya49",
    "version": "1.0.4",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/biver-builder",
    "downloadUrl": "https://openagent3.xyz/downloads/biver-builder",
    "agentUrl": "https://openagent3.xyz/skills/biver-builder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/biver-builder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/biver-builder/agent.md"
  }
}