# AppVersion

A version of an app: the inputs its `main` takes, the tools it pins and its time limit.

**Kind:** an object, used in responses.

## Fields

Every field is present in a response; empty ones are `null`.

| Field | Type | Description |
|---|---|---|
| `inputs` | [`AppInput`](https://docs.maitento.com/reference/types/app-input.md)`[]` | The inputs this version takes: the parameters of its `main`, in order. |
| `externalOperationsMcp` | [`McpExternalOperationBinding`](https://docs.maitento.com/reference/types/mcp-external-operation-binding.md)`[]` | MCP tools pinned for the app's code. Apps pin only OpenAPI tools, so this is empty. |
| `externalOperationsOpenApi` | [`OpenApiExternalOperationBinding`](https://docs.maitento.com/reference/types/open-api-external-operation-binding.md)`[]` | Tools the app's code calls with `ExtOpInvoke`, each pinned to the version it had when the app was deployed (`functions.openApi` in the app's `.mtr` file). A tool not listed is called at its latest version. |
| `fileChecksum` | `base64` | A checksum of the version's compiled code. It changes when the code does. |
| `executionTimeLimit` | `timespan \| null` | The longest a run of this version may take (`duration.max`), after which it is stopped with status `Error`. Null: no limit of its own. |
| `credentialStack` | `string \| null` | The credential stack this version's runs use, by id or name, when their start doesn't name one (`credentialStack` in the app's `.mtr` file). Null: the namespace's default stack, then your tenant's. |
| `version` | `integer` | The version number, from 1. Every change to a definition adds a new version with the next number. |
| `date` | `datetime` | When this version was created, in UTC. |
| `isDisabled` | `boolean` | Whether this version is disabled. A disabled version is never used: new links and runs take the latest enabled version, and anything pinned to this one fails until it is re-enabled. |

## Example

```json
{
  "inputs": [
    {
      "name": "...",
      "dataType": "String"
    }
  ],
  "externalOperationsMcp": [
    {
      "name": "...",
      "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "externalOperationVersion": 0,
      "requestBindings": [],
      "authenticationHeader": {},
      "promptGuidance": "...",
      "isTerminal": false
    }
  ],
  "externalOperationsOpenApi": [
    {
      "pathBindings": [],
      "queryBindings": [],
      "name": "...",
      "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "externalOperationVersion": 0,
      "requestBindings": [],
      "authenticationHeader": {},
      "promptGuidance": "...",
      "isTerminal": false
    }
  ],
  "fileChecksum": "aGVsbG8=",
  "executionTimeLimit": "00:05:00",
  "credentialStack": "...",
  "version": 0,
  "date": "2026-10-26T12:00:00.0000000Z",
  "isDisabled": false
}
```

## Where it's used

- Inside [`App`](https://docs.maitento.com/reference/types/app.md)
