# Models

> Every schema in the Tickwire OpenAPI document.

## AccountFeatures

| Field | Type | Required | Description |
|---|---|---|---|
| `copyFactoryApi` | `CopyTradingEnable \| null` | no |  |
| `riskManagementApiEnabled` | `boolean \| null` | no |  |
| `metastatsApiEnabled` | `boolean \| null` | no |  |
| `reliabilityIncreased` | `boolean \| null` | no |  |
| `allocateDedicatedIp` | `"ipv4" \| "none" \| null` | no |  |

## CopyTradingEnable

| Field | Type | Required | Description |
|---|---|---|---|
| `copyFactoryRoles` | `"PROVIDER" \| "SUBSCRIBER"[]` | yes |  |
| `copyFactoryResourceSlots` | `integer \| null` | no |  |

## CreateAccount

| Field | Type | Required | Description |
|---|---|---|---|
| `platform` | `"mt4" \| "mt5"` | no |  |
| `server` | `string` | yes |  |
| `login` | `integer` | yes |  |
| `password` | `string` | yes |  |
| `nickname` | `string` | no |  |
| `trade_ea_symbol` | `string` | no |  |
| `proxy_address` | `string` | no |  |
| `proxy_type` | `string` | no |  |
| `proxy_auth` | `string` | no |  |
| `proxy_local_port` | `integer` | no |  |

## CreatePrivateServer

| Field | Type | Required | Description |
|---|---|---|---|
| `slots` | `integer` | yes |  |
| `region` | `string` | yes |  |
| `name` | `string` | yes |  |

## CreateReadonlyKey

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string` | yes |  |
| `scope` | `"all" \| "selected"` | no |  |
| `account_ids` | `string[]` | no |  |

## CreateTopup

| Field | Type | Required | Description |
|---|---|---|---|
| `amount_eur_cents` | `integer` | yes |  |
| `method` | `"crypto" \| "manual"` | no |  |

## CreateWebhook

| Field | Type | Required | Description |
|---|---|---|---|
| `url` | `string` | yes |  |
| `secret` | `string \| null` | no |  |

## Credentials

| Field | Type | Required | Description |
|---|---|---|---|
| `login` | `string \| integer \| null` | no |  |
| `password` | `string` | yes |  |

## HTTPValidationError

| Field | Type | Required | Description |
|---|---|---|---|
| `detail` | `ValidationError[]` | no |  |

## KeyBody

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string` | no |  |

## MoveAccounts

| Field | Type | Required | Description |
|---|---|---|---|
| `account_ids` | `string[]` | yes |  |

## NewProfile

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string` | yes |  |
| `version` | `4 \| 5` | yes |  |
| `brokerTimezone` | `string` | yes |  |
| `brokerDSTSwitchTimezone` | `string` | yes |  |
| `type` | `"mtTerminal" \| "managerApi"` | no |  |
| `managerLogin` | `string \| null` | no |  |
| `managerPassword` | `string \| null` | no |  |
| `managerServer` | `string \| null` | no |  |

## NewToken

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string` | no |  |
| `kind` | `"api" \| "account"` | no |  |
| `applications` | `string[] \| null` | no |  |
| `roles` | `string[] \| null` | no |  |
| `accountIds` | `string[] \| null` | no |  |
| `readOnly` | `boolean` | no |  |
| `ttlInHours` | `number \| null` | no |  |
| `ipAllowlist` | `string[] \| null` | no |  |

## NewTradingAccount

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string` | yes |  |
| `server` | `string` | yes |  |
| `login` | `string \| integer \| null` | no |  |
| `password` | `string \| null` | no |  |
| `platform` | `"mt4" \| "mt5" \| null` | no |  |
| `provisioningProfileId` | `string \| null` | no |  |
| `magic` | `integer` | no |  |
| `manualTrades` | `boolean` | no |  |
| `slippage` | `number \| null` | no |  |
| `quoteStreamingIntervalInSeconds` | `number` | no |  |
| `tags` | `string[]` | no |  |
| `metadata` | `object \| null` | no |  |
| `reliability` | `"regular" \| "high"` | no |  |
| `resourceSlots` | `integer` | no |  |
| `copyFactoryResourceSlots` | `integer` | no |  |
| `region` | `string \| null` | no |  |
| `type` | `"cloud" \| "cloud-g1" \| "cloud-g2"` | no |  |
| `symbol` | `string \| null` | no |  |
| `baseCurrency` | `string \| null` | no |  |
| `copyFactoryRoles` | `"PROVIDER" \| "SUBSCRIBER"[]` | no |  |
| `riskManagementApiEnabled` | `boolean` | no |  |
| `metastatsApiEnabled` | `boolean` | no |  |
| `allocateDedicatedIp` | `"ipv4" \| "none" \| null` | no |  |
| `keywords` | `string[]` | no |  |
| `serverAddress` | `string \| null` | no |  |

## PatchAccount

| Field | Type | Required | Description |
|---|---|---|---|
| `trade_ea_symbol` | `string \| null` | no |  |

## PatchEndpoint

| Field | Type | Required | Description |
|---|---|---|---|
| `enabledEvents` | `string[] \| null` | no |  |
| `url` | `string \| null` | no |  |
| `description` | `string \| null` | no |  |

## PatchPrivateServer

| Field | Type | Required | Description |
|---|---|---|---|
| `slots` | `integer` | yes |  |

## PatchReadonlyKey

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string \| null` | no |  |
| `scope` | `"all" \| "selected" \| null` | no |  |
| `account_ids` | `string[] \| null` | no |  |

## PatchToken

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string \| null` | no |  |
| `ipAllowlist` | `string[] \| null` | no |  |

## PinBody

| Field | Type | Required | Description |
|---|---|---|---|
| `apiVersion` | `string` | yes |  |

## PrivateServerAddAccount

| Field | Type | Required | Description |
|---|---|---|---|
| `platform` | `"mt4" \| "mt5"` | no |  |
| `server` | `string` | yes |  |
| `login` | `integer` | yes |  |
| `password` | `string` | yes |  |
| `nickname` | `string` | no |  |
| `trade_ea_symbol` | `string` | no |  |

## RotateSecret

| Field | Type | Required | Description |
|---|---|---|---|
| `secret` | `string \| null` | no |  |
| `overlapHours` | `number` | no |  |

## SandboxSignupBody

| Field | Type | Required | Description |
|---|---|---|---|
| `platform` | `"mt4" \| "mt5"` | no |  |

## TriggerBody

| Field | Type | Required | Description |
|---|---|---|---|
| `type` | `string` | yes |  |
| `accountId` | `string \| null` | no |  |

## UpdateProfile

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string \| null` | no |  |
| `brokerTimezone` | `string \| null` | no |  |
| `brokerDSTSwitchTimezone` | `string \| null` | no |  |
| `managerLogin` | `string \| null` | no |  |
| `managerPassword` | `string \| null` | no |  |
| `managerServer` | `string \| null` | no |  |

## UpdateTradingAccount

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string \| null` | no |  |
| `password` | `string \| null` | no |  |
| `server` | `string \| null` | no |  |
| `magic` | `integer \| null` | no |  |
| `manualTrades` | `boolean \| null` | no |  |
| `slippage` | `number \| null` | no |  |
| `quoteStreamingIntervalInSeconds` | `number \| null` | no |  |
| `tags` | `string[] \| null` | no |  |
| `metadata` | `object \| null` | no |  |
| `copyFactoryRoles` | `"PROVIDER" \| "SUBSCRIBER"[] \| null` | no |  |
| `resourceSlots` | `integer \| null` | no |  |
| `copyFactoryResourceSlots` | `integer \| null` | no |  |
| `metastatsApiEnabled` | `boolean \| null` | no |  |
| `allocateDedicatedIp` | `"ipv4" \| "none" \| null` | no |  |
| `serverAddress` | `string \| null` | no |  |

## UpgradeBody

| Field | Type | Required | Description |
|---|---|---|---|
| `accounts` | `integer` | yes |  |
| `own_address` | `boolean` | no |  |

## ValidationError

| Field | Type | Required | Description |
|---|---|---|---|
| `loc` | `string \| integer[]` | yes |  |
| `msg` | `string` | yes |  |
| `type` | `string` | yes |  |
| `input` | `any` | no |  |
| `ctx` | `object` | no |  |
