Loading hosting…
Loading hosting…
One credential works for both. Create it under API & MCP in the console. The secret is shown once.
Send the key as a bearer token. Keys carry scopes: read, write, or admin. A write call with a read-only key is refused with 403 before anything happens.
curl https://hosting.novacraft.africa/api/v1/me \ -H "Authorization: Bearer nc_live_…"
/api/v1/mereadWorkspace, plan, limits and month-to-date usage.
/api/v1/projectsreadProjects in the workspace, with live status. Paged with limit and cursor.
/api/v1/projectswriteCreate a project from a git repository. Refuses with 402 when the workspace has no plan, its plan lapsed, or the plan limit is reached.
/api/v1/projects/deploywriteDeploy a project. Refuses with 402 when the workspace has no plan or its plan lapsed; running apps are never stopped.
/api/v1/auditreadThe workspace audit log, newest first. Studio and Scale; 402 on Starter.
curl -X POST https://hosting.novacraft.africa/api/v1/projects \
-H "Authorization: Bearer nc_live_…" \
-H "Content-Type: application/json" \
-d '{
"name": "checkout-api",
"repository": "[email protected]:you/checkout-api.git",
"branch": "main",
"port": "3000"
}'| 401 | Missing or unrecognised key. |
|---|---|
| 403 | The key lacks the scope, or the workspace is suspended. |
| 402 | No plan yet, a lapsed plan, a plan limit, or a feature above the plan. Choose or change a plan under Billing in the console. |
| 502 | The platform accepted the call but the orchestrator refused it. The message is passed through. |
The same key opens an MCP server, so an agent can operate the platform directly. Write tools demand the write scope and every call is written to the audit log.
{
"mcpServers": {
"novacraft": {
"url": "https://hosting.novacraft.africa/api/mcp",
"headers": { "Authorization": "Bearer nc_live_…" }
}
}
}| Tool | Scope | Does |
|---|---|---|
list_projects | read | Applications and their current status. |
list_deployments | read | Recent deployments, newest first. |
deploy_project | write | Trigger a deployment. |
restart_project | write | Restart a running application. |
read_build_log | read | Parsed build output for one deployment. |
list_rollback_targets | read | Earlier images available to roll back to. |
rollback_project | write | Redeploy a previous image. |
list_databases | read | Managed databases and their status. |
workspace_status | read | Plan, limits and usage. |
Billing webhooks verify their provider signature before touching a row. A rejected signature returns 400 and reveals nothing about whether the reference existed.
| Paystack | /api/platform/billing/webhook/paystack |
|---|---|
| Flutterwave | /api/platform/billing/webhook/flutterwave |
| OPay | /api/platform/billing/webhook/opay |
| Kora | /api/platform/billing/webhook/korapay |
| Monnify | /api/platform/billing/webhook/monnify |