Developer Docs
Quickstart
Get a bearer API key, call REST, and connect an MCP client.
1. Get An API Key
Use one of the supported API-key sources:
- User-generated keys from willaOS Settings → API Keys. These inherit role, client, and project scope.
- Provisioned integration keys in environment variables such as
API_KEY_ADMIN,API_KEY_KICKOFF,API_KEY_SHOPIFY_APP,API_KEY_QA_EXTENSION, andAPI_KEY_FIGMA_SECTION_LEDGER.
Keys are bearer tokens. Never put them in query strings, browser-visible client components, screenshots, or logs.
2. Call REST
curl https://os.willacreative.dev/api/clients \
-H "Authorization: Bearer $WILLA_API_KEY" \
-H "Accept: application/json"
Successful REST responses use a JSON envelope:
{
"data": [],
"request_id": "req_..."
}
Mutable resources that expose a version field use optimistic concurrency. Send the current version in X-Version:
curl -X PATCH https://os.willacreative.dev/api/projects/prj_123 \
-H "Authorization: Bearer $WILLA_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Version: 7" \
-d '{"phase":"build"}'
3. Connect MCP
MCP uses the same bearer token model at /api/mcp.
{
"mcpServers": {
"willaos": {
"url": "https://os.willacreative.dev/api/mcp",
"headers": {
"Authorization": "Bearer ${WILLA_API_KEY}"
}
}
}
}
Use a scoped API key for each agent. Start with read-only keys where possible; grant write routes only for workflows that have an explicit approval path.
4. Check Health
curl https://os.willacreative.dev/api/status
The /api-status page renders the same health data with links to REST and MCP docs.