{"id":7758,"date":"2026-08-20T16:54:26","date_gmt":"2026-08-20T10:54:26","guid":{"rendered":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/docs\/non-knowledgebase\/uncategorized\/hell0-boys-introduction\/"},"modified":"2026-08-20T16:54:26","modified_gmt":"2026-08-20T10:54:26","password":"","slug":"hell0-boys-introduction","status":"publish","type":"docs","link":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/docs\/hell0-boys-docs\/hell0-boys\/hell0-boys-introduction\/","title":{"rendered":"Introduction"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">xCloud Public API<\/h2>\n\n<p class=\"wp-block-paragraph\">A self-service REST API for all xCloud customers. Use this API to programmatically\nmanage your servers, sites, databases, backups, cron jobs, and more \u2014 directly from\nyour own scripts, CI\/CD pipelines, or integrations.<\/p>\n\n<h2 class=\"wp-block-heading\">Authentication<\/h2>\n\n<p class=\"wp-block-paragraph\">All API requests (except <code>GET \/health<\/code>) require a <strong>Sanctum Personal Access Token<\/strong>\npassed as a Bearer token in the <code>Authorization<\/code> header.<\/p>\n\n<h3 class=\"wp-block-heading\">Creating a Token<\/h3>\n\n<ol class=\"wp-block-list\">\n<li>Log in to <a href=\"https:\/\/app.xcloud.host\">app.xcloud.host<\/a><\/li>\n<li>Navigate to <strong>Account \u2192 API Tokens<\/strong> (<code>\/user\/api-tokens<\/code>)<\/li>\n<li>Click <strong>Create New Token<\/strong><\/li>\n<li>Select the required scopes for your use case<\/li>\n<li>Copy the token \u2014 <strong>it is shown only once<\/strong><\/li>\n<\/ol>\n\n<h3 class=\"wp-block-heading\">Available Scopes<\/h3>\n\n<table>\n<thead>\n<tr>\n<th>Scope<\/th>\n<th>Access<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>read:servers<\/code><\/td>\n<td>List and view servers, databases, cron jobs, PHP versions, monitoring, sudo users<\/td>\n<\/tr>\n<tr>\n<td><code>write:servers<\/code><\/td>\n<td>Reboot servers, create WordPress sites, manage sudo users<\/td>\n<\/tr>\n<tr>\n<td><code>read:sites<\/code><\/td>\n<td>List and view sites, backups, SSL, domain, git, deployment logs, SSH config<\/td>\n<\/tr>\n<tr>\n<td><code>write:sites<\/code><\/td>\n<td>Trigger backups, rescue sites, purge cache, update SSH\/SFTP config<\/td>\n<\/tr>\n<tr>\n<td><code>*<\/code><\/td>\n<td>Full access to all endpoints<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<h3 class=\"wp-block-heading\">Required Headers<\/h3>\n\n<pre><code class=\"language-http\">Authorization: Bearer &lt;your-token&gt;\nAccept: application\/json\nContent-Type: application\/json<\/code><\/pre>\n\n<h2 class=\"wp-block-heading\">Response Format<\/h2>\n\n<p class=\"wp-block-paragraph\">All responses follow a consistent envelope:<\/p>\n\n<pre><code class=\"language-json\">{\n  \"success\": true,\n  \"message\": \"Operation completed successfully.\",\n  \"data\": { ... }\n}<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">For paginated lists, <code>data<\/code> contains:<\/p>\n\n<pre><code class=\"language-json\">{\n  \"data\": [ ... ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"last_page\": 5,\n    \"per_page\": 15,\n    \"total\": 72\n  }\n}<\/code><\/pre>\n\n<h2 class=\"wp-block-heading\">HTTP Status Codes<\/h2>\n\n<table>\n<thead>\n<tr>\n<th>Code<\/th>\n<th>Meaning<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>200 OK<\/code><\/td>\n<td>Request successful<\/td>\n<\/tr>\n<tr>\n<td><code>202 Accepted<\/code><\/td>\n<td>Async operation queued (e.g. reboot, backup)<\/td>\n<\/tr>\n<tr>\n<td><code>400 Bad Request<\/code><\/td>\n<td>Validation error \u2014 check <code>errors<\/code> in response body<\/td>\n<\/tr>\n<tr>\n<td><code>401 Unauthorized<\/code><\/td>\n<td>Missing or invalid token<\/td>\n<\/tr>\n<tr>\n<td><code>403 Forbidden<\/code><\/td>\n<td>Token lacks the required scope<\/td>\n<\/tr>\n<tr>\n<td><code>404 Not Found<\/code><\/td>\n<td>Resource not found or not accessible to your team<\/td>\n<\/tr>\n<tr>\n<td><code>422 Unprocessable Entity<\/code><\/td>\n<td>Business logic validation failure<\/td>\n<\/tr>\n<tr>\n<td><code>429 Too Many Requests<\/code><\/td>\n<td>Rate limit exceeded<\/td>\n<\/tr>\n<tr>\n<td><code>500 Internal Server Error<\/code><\/td>\n<td>Server error \u2014 contact support<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<h2 class=\"wp-block-heading\">Rate Limits<\/h2>\n\n<table>\n<thead>\n<tr>\n<th>Type<\/th>\n<th>Limit<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Authenticated requests<\/td>\n<td><strong>60 requests \/ minute<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Unauthenticated requests<\/td>\n<td><strong>10 requests \/ minute<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<p class=\"wp-block-paragraph\">Rate limit headers are included in every response:<\/p>\n\n<pre><code class=\"language-http\">X-RateLimit-Limit: 60\nX-RateLimit-Remaining: 58\nX-RateLimit-Reset: 1710000060<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">When you exceed the limit, the API returns <code>429 Too Many Requests<\/code> with a\n<code>Retry-After<\/code> header indicating how many seconds to wait.<\/p>\n\n<h2 class=\"wp-block-heading\">Base URLs<\/h2>\n\n<figure class=\"wp-block-table betterdocs-api-table\"><table><thead><tr><th>URL<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>https:\/\/app.xcloud.host\/api\/v1<\/code><\/td><td>Production<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h2 class=\"wp-block-heading\">Authentication<\/h2>\n\n<figure class=\"wp-block-table betterdocs-api-table\"><table><thead><tr><th>Scheme<\/th><th>Type<\/th><th>Details<\/th><\/tr><\/thead><tbody><tr><td><code>bearerAuth<\/code><\/td><td>http<\/td><td>HTTP bearer authentication<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h2 class=\"wp-block-heading\">API Details<\/h2>\n\n<figure class=\"wp-block-table betterdocs-api-table\"><table><tbody><tr><td>Version<\/td><td>1.0.0<\/td><\/tr><tr><td>Contact<\/td><td>xCloud Support \u2014 <a href=\"https:\/\/xcloud.host\/support\">https:\/\/xcloud.host\/support<\/a><\/td><\/tr><tr><td>License<\/td><td>Proprietary<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>xCloud Public API A self-service REST API for all xCloud customers. Use this API to programmatically manage your servers, sites, databases, backups, cron jobs, and more \u2014 directly from your&hellip;<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_eb_attr":"","footnotes":""},"doc_category":[929],"glossaries":[],"doc_tag":[],"knowledge_base":[928],"class_list":["post-7758","docs","type-docs","status-publish","hentry","doc_category-hell0-boys","knowledge_base-hell0-boys-docs"],"year_month":"2026-09","word_count":327,"total_views":"2","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"muammar-shahrear-famous","author_nicename":"muammar-shahrear-famous","author_url":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/author\/muammar-shahrear-famous\/"},"doc_category_info":[{"term_name":"hell0 boys","term_url":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/docs\/hell0-boys-docs\/hell0-boys\/"}],"doc_tag_info":[],"knowledge_base_info":[{"term_name":"hell0 boys","term_url":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/docs\/hell0-boys-docs\/","term_slug":"hell0-boys-docs"}],"knowledge_base_slug":["hell0-boys-docs"],"_links":{"self":[{"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/docs\/7758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/comments?post=7758"}],"version-history":[{"count":0,"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/docs\/7758\/revisions"}],"wp:attachment":[{"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/media?parent=7758"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/doc_category?post=7758"},{"taxonomy":"glossaries","embeddable":true,"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/glossaries?post=7758"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/doc_tag?post=7758"},{"taxonomy":"knowledge_base","embeddable":true,"href":"https:\/\/betterdocs.shahrear.msf.bd\/index.php\/wp-json\/wp\/v2\/knowledge_base?post=7758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}