# Практические API-примеры Здесь собраны минимальные запросы для проверки Crank без веб-интерфейса. В примерах используется: ```text https://crank.example.com ``` Замените адрес на свой. ## Вход ```bash curl -i https://crank.example.com/api/auth/login \ -H 'Content-Type: application/json' \ --data '{ "email": "owner@example.com", "password": "change-me" }' ``` Сохраните cookie `crank_session`. ## Получить workspace ```bash curl https://crank.example.com/api/admin/workspaces \ -b 'crank_session=' ``` Для стандартной установки workspace id: ```text ws_default ``` ## Получить операции ```bash curl https://crank.example.com/api/admin/workspaces/ws_default/operations \ -b 'crank_session=' ``` После demo seed ожидается операция: ```text frankfurter_latest_rate ``` ## Запустить тест операции ```bash curl https://crank.example.com/api/admin/workspaces/ws_default/operations//test-runs \ -b 'crank_session=' \ -H 'Content-Type: application/json' \ --data '{ "version": 1, "input": { "base": "USD", "quote": "EUR" } }' ``` ## Получить агентов ```bash curl https://crank.example.com/api/admin/workspaces/ws_default/agents \ -b 'crank_session=' ``` После demo seed ожидается агент: ```text currency-rates ``` ## Создать API-ключ агента ```bash curl https://crank.example.com/api/admin/workspaces/ws_default/agents//platform-api-keys \ -b 'crank_session=' \ -H 'Content-Type: application/json' \ --data '{ "name": "Manual MCP test", "scopes": ["read", "write"] }' ``` Сохраните поле `secret`. Оно не будет показано повторно. ## Проверить MCP initialize ```bash curl -i https://crank.example.com/mcp/v1/default/currency-rates \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2025-06-18", "capabilities": {}, "clientInfo": { "name": "curl", "version": "1.0.0" } } }' ``` Сохраните `MCP-Session-Id` из заголовков ответа. ## Вызвать инструмент ```bash curl https://crank.example.com/mcp/v1/default/currency-rates \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'MCP-Session-Id: ' \ --data '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "frankfurter_latest_rate", "arguments": { "base": "USD", "quote": "EUR" } } }' ```