Initial skills documentation — 25 categories, all SKILL.md + references + scripts

This commit is contained in:
root
2026-07-15 17:42:20 -04:00
commit 1b4fcd4427
976 changed files with 188344 additions and 0 deletions
@@ -0,0 +1,46 @@
# netcup API — Working Auth + Endpoint
## Auth Flow (Keycloak OIDC Password Grant)
The SCP REST API uses Keycloak at `servercontrolpanel.de`, NOT the CCP API key from Master Data.
```bash
TOKEN=$(curl -s "https://www.servercontrolpanel.de/realms/scp/protocol/openid-connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password&client_id=scp&username=<CUSTOMER#>&password=<CCP_PASSWORD>")
```
- **Token URL:** `https://www.servercontrolpanel.de/realms/scp/protocol/openid-connect/token`
- **Client ID:** `scp`
- **Grant type:** `password`
- **Username:** Customer number (e.g. `389212`)
- **Password:** CCP login password (same as web login)
- **Token type:** Bearer JWT (returns `access_token`, `refresh_token`, `expires_in`)
## API Base URL
`https://www.servercontrolpanel.de/scp-core/api/v1/`
## Verified Endpoints
| Endpoint | Method | Response |
|----------|--------|----------|
| `/servers` | GET | Array of server objects with id, hostname, ip, template, status |
| `/servers/{id}` | GET | Single server detail (RAM, disk, CPU info) |
## Credentials Storage
Stored in `/root/.hermes/.env`:
```
NETCUP_CUSTOMER=389212
NETCUP_PASSWORD=<CCP_password>
```
## Keep-alive
Token expires — re-authenticate before each API call:
```bash
# 1. Get fresh token
# 2. Use it immediately
curl -s -H "Authorization: Bearer $TOKEN" "https://www.servercontrolpanel.de/scp-core/api/v1/servers"
```