---
title: "specification app"
description: "specification app: the 8 calls this system serves, each a route of the API and a tool of the MCP server, at contract 0476e35e6e275db5."
section: systems
address: /systems/app-specification-app
contract: 0476e35e6e275db5
---

# specification app

specification app: the 8 calls this system serves, each a route of the API and a tool of the MCP server, at contract 0476e35e6e275db5.

[figure: specification app: 8 calls of the contract, by family.]

# specification app

The 8 calls below are the whole of this system on the wire: each is one route of the API and one tool of the MCP server, with one typed input, one card as its answer and one refusal shape. Every answer carries its foot: what was read, the population and the control.

## The calls



| tool | route | takes | gives |
|---|---|---|---|
| [si.session.sign_in](/reference/tools/si-session-sign_in) | [POST /v1/session/sign_in](/reference/session/sign_in) | nothing, or the tenant to sign in to | the way the browser was opened, then the caller as a view once the code came back; the refresh token goes to the keychain and never to the caller |
| [si.session.cache](/reference/tools/si-session-cache) | [POST /v1/session/cache](/reference/session/cache) | nothing, or a call to forget | what the app holds from earlier answers, by call and date, and when each expires |
| [si.ask.local](/reference/tools/si-ask-local) | [POST /v1/ask/local](/reference/ask/local) | a question in one of the ask tools' owning types, over the files the app may read | the card, answered by the app's own engine over its tenant's files, with the same foot |
| [si.work.local_procedure](/reference/tools/si-work-local_procedure) | [POST /v1/work/local_procedure](/reference/work/local_procedure) | a named procedure whose inputs are files in the workspace | a task run by the app with its steps in the app's own journal, resumable |
| [si.files.download](/reference/tools/si-files-download) | [POST /v1/files/download](/reference/files/download) | a file's pointer from a task or a document, and where in the workspace to put it | progress by bytes moved of bytes in all, then the path inside the workspace |
| [si.files.upload](/reference/tools/si-files-upload) | [POST /v1/files/upload](/reference/files/upload) | a path inside the workspace, and what the file is for | progress, then the pointer the platform kept |
| [si.files.list](/reference/tools/si-files-list) | [POST /v1/files/list](/reference/files/list) | a path inside the workspace, or nothing | the files with their sizes, kinds and when they were written |
| [si.files.workspace](/reference/tools/si-files-workspace) | [POST /v1/files/workspace](/reference/files/workspace) | nothing, or a folder to make the workspace | the workspace folder, and every act the app made in it on the ledger |
