45 lines
1.2 KiB
Markdown
45 lines
1.2 KiB
Markdown
ID: DOC_000008 | Version: 0.2.1 | Status: Draft
|
|
|
|
# Client Quickstart
|
|
|
|
## Goal
|
|
Enroll a client, store the long-term token, fetch the manifest, and report status.
|
|
|
|
## 1) Get a Pre-Shared Token
|
|
Request a one-time enrollment token from an admin/operator.
|
|
|
|
## 2) Enroll and Receive Long-Term Token
|
|
```
|
|
curl -X POST https://update.wlkns.org/v1/enroll \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"project_id": "safe-kiddo-control",
|
|
"client_id": "kiddo-001",
|
|
"software_id": "kiddo-agent",
|
|
"enroll_token": "<pre_shared_token>"
|
|
}'
|
|
```
|
|
|
|
Store the returned token locally (file or secret store). Example:
|
|
```
|
|
echo "<long_term_token>" > ./update-token.txt
|
|
```
|
|
|
|
## 3) Fetch Manifest
|
|
```
|
|
curl -H "Authorization: Bearer $(cat ./update-token.txt)" \
|
|
https://update.wlkns.org/v1/projects/safe-kiddo-control/manifest
|
|
```
|
|
|
|
## 4) Report Status
|
|
```
|
|
curl -H "Authorization: Bearer $(cat ./update-token.txt)" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"project_id":"safe-kiddo-control","version":"0.1.2","status":"success","timestamp":"2025-12-30T10:00:00Z"}' \
|
|
https://update.wlkns.org/v1/projects/safe-kiddo-control/status
|
|
```
|
|
|
|
## Notes
|
|
- All endpoints require `Authorization: Bearer <token>` except `/v1/enroll`.
|
|
- Status values: `success`, `failed`, `in_progress`.
|