● operational

Real-time network status
for JCB infrastructure

The JCB Network API provides real-time availability data for the decentralized systems hosting Joomla Component Builder's core classes, powers, and packages. Use it to verify that upstream repositories are reachable before compilation, or to integrate availability checks into your own monitoring and automation.

Base URL https://api.joomlacomponentbuilder.com/v1/network/

Endpoints

All endpoints accept GET requests and return JSON. No authentication is required for read access. The path hierarchy follows the pattern: system → project → target → status filter.

GET /v1/network/{system}/ List all projects in a system

Returns a system object containing all of its projects, targets, and their current network node statuses. This is useful for a high-level dashboard view.

Path Parameters
Name Type Description
system string The monitoring system name — e.g. community
Example Request
GET https://api.joomlacomponentbuilder.com/v1/network/community/
GET /v1/network/{system}/{project}/ List all targets in a project

Returns a project object with all of its targets and their network nodes. Use this to check which repository mirrors are available for a specific project.

Path Parameters
Name Type Description
system string The monitoring system name
project string The project name — e.g. jcb
Example Request
GET https://api.joomlacomponentbuilder.com/v1/network/community/jcb/
GET /v1/network/{system}/{project}/{target} Get status for a specific target

Returns a single target with its network nodes and their current statuses. Each node represents a mirror hosting the same resource — if one is down, others may still be reachable.

Path Parameters
Name Type Description
system string The monitoring system name
project string The project name
target string The target name — e.g. super-powers, joomla-powers, packages
Example Request
GET https://api.joomlacomponentbuilder.com/v1/network/community/jcb/super-powers
Example Response
{ "target": "super-powers", "network": [ { "id": 28, "name": "codeberg.org/joomla/super-powers", "url": "https://codeberg.org/joomla/super-powers", "status": 1 // 1 = online }, { "id": 26, "name": "git.vdm.dev/joomla/super-powers", "url": "https://git.vdm.dev/joomla/super-powers", "status": 1 } ] }
GET /v1/network/{system}/{project}/{target}/{status} Filter nodes by status

Returns a target with its network list filtered to only include nodes matching the specified status. Use 1 to find online mirrors or 0 to find those currently offline.

Path Parameters
Name Type Description
system string The monitoring system name
project string The project name
target string The target name
status integer 1 for online nodes only, 0 for offline nodes only
Example — Online Nodes Only
GET https://api.joomlacomponentbuilder.com/v1/network/community/jcb/super-powers/1
Example — Offline Nodes Only
GET https://api.joomlacomponentbuilder.com/v1/network/community/jcb/super-powers/0

Response Format

All responses are returned as application/json. The data hierarchy follows: system → projects → targets → network nodes.

Status Values
1 — Online / Reachable
0 — Offline / Unreachable

Error Responses

When a requested resource does not exist, the API returns a JSON error object with an appropriate HTTP status code.

Status Error Cause
403 System not found The system name in the URL does not match any known system
403 Project not found The project does not exist within the specified system
403 Target not found The target does not exist within the specified project
400 Invalid status provided The status filter is not a valid integer (0 or 1)

Available Targets

The community/jcb project currently tracks the following targets. Each target is mirrored across multiple Git hosting providers for redundancy.

super-powers joomla-powers packages snippets gitea openai search phpseclib joomla-fieldtypes repoindex repositories

Quick Integration

Check availability of a target before compilation or deployment.

cURL
curl -s https://api.joomlacomponentbuilder.com/v1/network/community/jcb/super-powers/1
PHP
// Get all online mirrors for super-powers $url = 'https://api.joomlacomponentbuilder.com/v1/network/community/jcb/super-powers/1'; $data = json_decode(file_get_contents($url)); foreach ($data->network as $node) { if ($node->status === 1) { // Use this mirror $mirror_url = $node->url; break; } }
JavaScript
const res = await fetch( 'https://api.joomlacomponentbuilder.com/v1/network/community/jcb/super-powers/1' ); const { network } = await res.json(); const onlineMirrors = network.filter(n => n.status === 1);