Skip to content

Peering API

Base URL: https://api.moenet.work

All peering endpoints require authentication. Include the JWT token:

bash
Authorization: Bearer <jwt-token>

POST /session

Multi-action endpoint for peering session management.

List Sessions

bash
curl -X POST https://api.moenet.work/session \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "list"}'

Response:

json
{
  "sessions": [
    {
      "uuid": "abc-123",
      "router": "jp1",
      "routerName": "Tokyo #1",
      "status": 1,
      "statusName": "ACTIVE",
      "ipv6": "fe80::1",
      "ipv6LinkLocal": "fe80::2",
      "mtu": 1420,
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ]
}

Create Session

bash
curl -X POST https://api.moenet.work/session \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "create",
    "router": "uuid-of-router",
    "ipv6": "fe80::1",
    "linkLocal": "fe80::2",
    "endpoint": "example.com:51820",
    "publicKey": "wireguard-public-key",
    "mtu": 1420
  }'

Response:

json
{
  "uuid": "new-session-uuid",
  "status": 3,
  "statusName": "PENDING_REVIEW",
  "serverEndpoint": "jp.moenet.work:24001",
  "serverPublicKey": "server-wireguard-key",
  "serverLinkLocal": "fe80::998:1"
}

Modify Session

bash
curl -X POST https://api.moenet.work/session \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "modify",
    "uuid": "session-uuid",
    "endpoint": "new-endpoint.com:51820",
    "mtu": 1400
  }'

Delete Session

bash
curl -X POST https://api.moenet.work/session \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "delete", "uuid": "session-uuid"}'

Restart Session

Triggers WireGuard tunnel restart on the node.

bash
curl -X POST https://api.moenet.work/session \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "restart", "uuid": "session-uuid"}'

Session Status Codes

CodeNameDescription
0DISABLEDSession disabled
1ACTIVESession active and running
2ERRORSession has errors
3PENDING_REVIEWAwaiting admin approval
4QUEUED_FOR_SETUPApproved, waiting for agent
5QUEUED_FOR_DELETEMarked for deletion
6SETUP_FAILEDAgent setup failed

Error Codes

CodeDescription
SESSION_EXISTSDuplicate session for this router
SESSION_NOT_FOUNDSession UUID not found
INVALID_TOKENJWT token invalid or expired
RATE_LIMITEDToo many requests

Rate Limits

RouteLimit
Default60 requests/min

MoeNet DN42 Network — AS4242420998