Servers
Servers are collaborative workspaces where content is organized. Each document, sheet, or slide can belong to a server or to your personal files (no server).
By default, content created via the API is saved to your personal files. Pass a server_id when creating content to place it in a specific server.
List Servers
Endpoint
GET /v1/serversReturns all servers accessible to your API key. No scope required.
bash
curl https://api.mila.gg/v1/servers \
-H "Authorization: Bearer mila_sk_your_key_here"Response:
JSON
{
"success": true,
"data": [
{
"id": "xK9mP2wQ",
"name": "Engineering",
"uuid": "abc123",
"description": "Engineering team workspace",
"profile_image_url": null,
"created_at": "2026-01-15T10:00:00.000Z",
"updated_at": "2026-02-20T14:30:00.000Z"
}
]
}Filtering Content by Server
All list endpoints (GET /documents, GET /sheets, GET /slides) accept an optional server_id query parameter:
| Value | Effect |
|---|---|
| (omitted) | Returns all accessible content (personal + all servers) |
personal | Returns only personal files (not in any server) |
<id> | Returns only content in that specific server |
Examples:
bash
# All documents across personal files and all servers
curl https://api.mila.gg/v1/documents \
-H "Authorization: Bearer mila_sk_your_key_here"
# Only personal documents
curl "https://api.mila.gg/v1/documents?server_id=personal" \
-H "Authorization: Bearer mila_sk_your_key_here"
# Only documents in a specific server
curl "https://api.mila.gg/v1/documents?server_id=xK9mP2wQ" \
-H "Authorization: Bearer mila_sk_your_key_here"Creating Content in a Server
Pass server_id in the request body when creating documents, sheets, or slides:
bash
curl -X POST https://api.mila.gg/v1/documents \
-H "Authorization: Bearer mila_sk_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"title": "Sprint Planning",
"content": "<h1>Sprint 24</h1><p>Goals for this sprint...</p>",
"server_id": "xK9mP2wQ"
}'If server_id is omitted or null, the content is saved to your personal files. If the server doesn't exist or you don't have access, you'll get a 400 error.