{"request_id":"req_d451ab435ab9d84e9984d87726e623cc","api_version":"v1","contract_id":"nettipoika-agent-http-v1-operational","environment":"dev","origin":"https://sivusto-dev.nettipoika.fi","discovery":"https://sivusto-dev.nettipoika.fi/llms.txt","openapi":"https://sivusto-dev.nettipoika.fi/openapi.json","mcp":"https://sivusto-dev.nettipoika.fi/mcp","release":{"release_id":"dev-3a382c5","source_commit":"3a382c557c1643ae17b0ea70ef7836d47c0a8bb4"},"capabilities":[{"async_operation":false,"auth":"anonymous","id":"platform.capabilities.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/capabilities","phase":"S2-01","scope":null},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"site.list","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites","phase":"S2-02","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"site.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}","phase":"S2-02","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"operation.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/operations/{operation_id}","phase":"S1-02","scope":"site:read"},{"async_operation":true,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"live_session.open","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/live-sessions","phase":"S2-14","required_scopes":["site:write","site:deploy"],"scope":"site:write"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"live_session.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/live-sessions/{live_session_id}","phase":"S2-14","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"live_session.tree.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/live-sessions/{live_session_id}/tree","phase":"S2-14","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"live_session.file.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/live-sessions/{live_session_id}/file","phase":"S2-14","query":["path"],"scope":"site:read"},{"async_operation":true,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"live_session.files.apply","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/live-sessions/{live_session_id}/file-operations","phase":"S2-14","required_scopes":["site:write","site:deploy"],"scope":"site:write"},{"async_operation":true,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"live_session.close","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/live-sessions/{live_session_id}/close","phase":"S2-14","required_scopes":["site:write","site:deploy"],"scope":"site:write"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"source.tree.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/source/tree","phase":"S2-03","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"source.file.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/source/file","phase":"S2-03","query":["path"],"scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"changeset.create","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/changesets","phase":"S2-05","scope":"site:write"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"changeset.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/changesets/{changeset_id}","phase":"S2-05","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"changeset.diff.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/changesets/{changeset_id}/diff","phase":"S2-05","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"changeset.tree.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/changesets/{changeset_id}/tree","phase":"S2-03","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"changeset.file.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/changesets/{changeset_id}/file","phase":"S2-03","query":["path"],"scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"changeset.files.apply","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/changesets/{changeset_id}/file-operations","phase":"S2-03","scope":"site:write"},{"async_operation":true,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"command.start","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/changesets/{changeset_id}/commands","phase":"S2-04","scope":"site:commands"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"command.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/changesets/{changeset_id}/commands/{command_id}","phase":"S2-04","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"command.cancel","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/changesets/{changeset_id}/commands/{command_id}/cancel","phase":"S2-04","scope":"site:commands"},{"async_operation":true,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"changeset.commit","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/changesets/{changeset_id}/commit","phase":"S2-05","scope":"site:write"},{"async_operation":true,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"release.create","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/releases","phase":"S2-05","scope":"site:deploy"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"release.list","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/releases","phase":"S2-05","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"release.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/releases/{release_id}","phase":"S2-05","scope":"site:read"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"release.preview","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/releases/{release_id}/preview","phase":"S2-05","scope":"site:read"},{"async_operation":true,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"release.activate","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/releases/{release_id}/activate","phase":"S2-05","scope":"site:deploy"},{"async_operation":true,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"release.rollback","idempotency_required":true,"implementation_status":"implemented","method":"POST","mutating":true,"path":"/sites/{site_id}/rollbacks","phase":"S2-05","scope":"site:deploy"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"logs.list","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/logs","phase":"S2-05","scope":"site:logs"},{"async_operation":false,"auth":"site_token","authorization_availability":"site_bound_authorization","id":"usage.get","idempotency_required":false,"implementation_status":"implemented","method":"GET","mutating":false,"path":"/sites/{site_id}/usage","phase":"S2-05","scope":"site:read"}]}
