Introduction

DevPortal gives your team a single place to monitor infrastructure, track deployments, and collaborate on projects — accessible via web or REST API.

Quick Start

Create your account, log in at /login, and you'll land on the dashboard. From there you can connect your first project using the API key shown in /settings.

Authentication

DevPortal uses session-based authentication. Obtain a session by posting credentials to /auth/login. All subsequent requests must include the session cookie.

POST /auth/login Content-Type: application/json { "username": "your_username", "password": "your_password" }

API Overview

All API requests are made to the following base URL:

https://dev.y8s33fl.space/api/v1

You can verify the API is reachable at any time using the public status endpoint — no authentication required:

GET /api/v1/status → 200 OK { "status": "ok", "version": "2.4.1", "uptime": 183621 }

Projects

Retrieve all projects associated with your account. Requires authentication.

GET /api/v1/projects → 200 OK { "projects": [ { "id": 1, "name": "Backend API", "status": "active", "updated": "2026-02-28" }, ... ] }

Metrics

Returns live resource utilisation for the current session's environment. Values are sampled at the time of the request.

GET /api/v1/metrics → 200 OK { "cpu": 23.4, "memory": 61.2, "requests_today": 4821, "errors_today": 3 }

Streaming

DevPortal exposes a streaming endpoint for live metrics and event feeds. Connect via /api/v1/stream using an authenticated session. The endpoint supports both SSE and chunked transfer for compatibility with a wide range of clients.

Deployments

Deployments are triggered automatically via webhook or manually from the dashboard. Each deployment is assigned a unique ID and can be monitored in real time through the streaming endpoint.

Webhooks

Configure webhooks in /settings to receive push notifications for deployment events, error thresholds, and status changes.

Rate Limiting

API requests are limited to 1 000 requests per minute per session. Exceeding this limit returns a 429 Too Many Requests response. The limit resets on a rolling 60-second window.