Ir al contenido

Quickstart: curl

Todo es JSON sobre HTTPS salvo el data plane, que es el sobre binario de Native. Dos bearers: la sesión (hyc0_…) para el plano de control y una clave de proyecto (hyp1_…) para el data plane.

Ventana de terminal
ORIGIN=https://infra-hyphae.run
# 1. Cuenta y sesión (24 h)
curl -s -X POST $ORIGIN/v0/signup -H 'Content-Type: application/json' \
-d '{"email":"[email protected]","password":"al menos 8 caracteres","invite_code":"'"$INVITE_CODE"'"}'
# sin un invite_code válido en el despliegue alojado: 403 authorization_denied
export TOKEN=hyc0_
# 2. Un proyecto, dormido
curl -s -X POST $ORIGIN/v0/projects -H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' -d '{"name":"demo"}'
export PRJ=prj_
# 3. Despierta el motor; head pasa a ser una sonda en vivo
curl -s -X POST $ORIGIN/v0/projects/$PRJ/wakeup -H "Authorization: Bearer $TOKEN"
curl -s $ORIGIN/v0/projects/$PRJ/head -H "Authorization: Bearer $TOKEN"
# 4. Una clave de proyecto (el secreto aparece exactamente una vez)
curl -s -X POST $ORIGIN/v0/projects/$PRJ/keys -H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' -d '{"label":"app"}'
export KEY=hyp1_
# 5. El data plane: el /v2 de Native, tal cual, a través del proxy
curl -s $ORIGIN/v2/capabilities -H "Authorization: Bearer $KEY" \
-H 'X-Hyphae-Protocol-Minor: 3' --output capabilities.hyprsp01

Los errores son siempre {"error":{"code":"…","message":"…"}} con uno de los 16 códigos. Cada escritura del plano de control produce un recibo en el servidor (proyecto, actor, acción, hora, hash de la entrada).

Todas las rutas, con esquemas de petición y respuesta: referencia HTTP (en inglés).