Download OpenAPI specification:
Public-facing API documentation for Guru Money.
Authentication uses a bearer token:
POST /api/v1/auth/telegram/bootstrap/mcp flow| telegramId required | integer |
| username | string or null |
| firstName | string or null |
| lastName | string or null |
{- "telegramId": 0,
- "username": "string",
- "firstName": "string",
- "lastName": "string"
}{- "accessToken": "string",
- "expiresAt": "2019-08-24T14:15:22Z",
- "session": {
- "user": {
- "id": 0,
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "telegramId": 0
}, - "auth": {
- "sessionId": 0,
- "expiresAt": "2019-08-24T14:15:22Z"
}, - "workspaces": [
- {
- "id": 0,
- "name": "string",
- "type": "personal",
- "role": "owner",
- "baseCurrency": "string",
- "isArchived": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}{- "user": {
- "id": 0,
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "telegramId": 0
}, - "auth": {
- "sessionId": 0,
- "expiresAt": "2019-08-24T14:15:22Z"
}, - "workspaces": [
- {
- "id": 0,
- "name": "string",
- "type": "personal",
- "role": "owner",
- "baseCurrency": "string",
- "isArchived": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}{- "id": 0,
- "name": "string",
- "type": "personal",
- "role": "owner",
- "baseCurrency": "string",
- "isArchived": true,
- "updatedAt": "2019-08-24T14:15:22Z",
- "membersCount": 0
}[- {
- "userId": 0,
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "role": "owner",
- "isActive": true,
- "joinedAt": "2019-08-24T14:15:22Z"
}
]| workspaceId required | integer |
| include_archived | boolean |
[- {
- "id": 0,
- "workspaceId": 0,
- "userId": 0,
- "name": "string",
- "type": "string",
- "currency": "string",
- "currentBalance": 0,
- "availableBalance": 0,
- "bankConnectionId": 0,
- "lastSyncedAt": "2019-08-24T14:15:22Z",
- "isArchived": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
]| workspaceId required | integer |
| name required | string |
| type required | string |
| currency required | string |
| currentBalance | number or null |
| availableBalance | number or null |
{- "name": "string",
- "type": "string",
- "currency": "string",
- "currentBalance": 0,
- "availableBalance": 0
}{- "id": 0,
- "workspaceId": 0,
- "userId": 0,
- "name": "string",
- "type": "string",
- "currency": "string",
- "currentBalance": 0,
- "availableBalance": 0,
- "bankConnectionId": 0,
- "lastSyncedAt": "2019-08-24T14:15:22Z",
- "isArchived": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}| workspaceId required | integer |
| accountId required | integer |
{- "id": 0,
- "workspaceId": 0,
- "userId": 0,
- "name": "string",
- "type": "string",
- "currency": "string",
- "currentBalance": 0,
- "availableBalance": 0,
- "bankConnectionId": 0,
- "lastSyncedAt": "2019-08-24T14:15:22Z",
- "isArchived": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}| workspaceId required | integer |
| accountId required | integer |
| name | string |
| type | string |
| currency | string |
| currentBalance | number or null |
| availableBalance | number or null |
| isArchived | boolean |
{- "name": "string",
- "type": "string",
- "currency": "string",
- "currentBalance": 0,
- "availableBalance": 0,
- "isArchived": true
}{- "id": 0,
- "workspaceId": 0,
- "userId": 0,
- "name": "string",
- "type": "string",
- "currency": "string",
- "currentBalance": 0,
- "availableBalance": 0,
- "bankConnectionId": 0,
- "lastSyncedAt": "2019-08-24T14:15:22Z",
- "isArchived": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}| workspaceId required | integer |
| type | string Enum: "expense" "income" |
| updated_after | string <date-time> |
[- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "type": "expense",
- "scopeType": "global",
- "workspaceId": 0,
- "userId": 0,
- "isSystem": true,
- "iconCodePoint": 0,
- "color": 0,
- "sortOrder": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
]| workspaceId required | integer |
| name required | string |
| slug | string |
| type required | string Enum: "expense" "income" |
| scopeType required | string Enum: "user" "workspace" |
| iconCodePoint | integer or null |
| color | integer or null |
{- "name": "string",
- "slug": "string",
- "type": "expense",
- "scopeType": "user",
- "iconCodePoint": 0,
- "color": 0
}{- "id": "string",
- "name": "string",
- "slug": "string",
- "type": "expense",
- "scopeType": "global",
- "workspaceId": 0,
- "userId": 0,
- "isSystem": true,
- "iconCodePoint": 0,
- "color": 0,
- "sortOrder": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}| workspaceId required | integer |
| account_id | integer |
| category_id | string |
| date_from | string <date> |
| date_to | string <date> |
| status | string Enum: "pending" "posted" "cancelled" |
| source_type | string Enum: "manual" "bank_sync" "import" "api" |
| limit | integer |
| updated_after | string <date-time> |
{- "items": [
- {
- "id": 0,
- "workspaceId": 0,
- "accountId": 0,
- "accountName": "string",
- "categoryId": "string",
- "categoryName": "string",
- "amount": 0,
- "currency": "string",
- "sourceType": "manual",
- "externalId": "string",
- "status": "pending",
- "merchantName": "string",
- "description": "string",
- "transactionDate": "2019-08-24",
- "occurredAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "clientMutationId": "string"
}
], - "nextCursor": "string"
}| workspaceId required | integer |
| accountId | integer or null |
| categoryId | string or null |
| amount required | number |
| currency required | string |
| description | string or null |
| merchantName | string or null |
| transactionDate | string or null <date> |
| occurredAt | string or null <date-time> |
| clientMutationId | string or null |
{- "accountId": 0,
- "categoryId": "string",
- "amount": 0,
- "currency": "string",
- "description": "string",
- "merchantName": "string",
- "transactionDate": "2019-08-24",
- "occurredAt": "2019-08-24T14:15:22Z",
- "clientMutationId": "string"
}{- "id": 0,
- "workspaceId": 0,
- "accountId": 0,
- "accountName": "string",
- "categoryId": "string",
- "categoryName": "string",
- "amount": 0,
- "currency": "string",
- "sourceType": "manual",
- "externalId": "string",
- "status": "pending",
- "merchantName": "string",
- "description": "string",
- "transactionDate": "2019-08-24",
- "occurredAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "clientMutationId": "string"
}| workspaceId required | integer |
| accountId | integer or null |
| categoryId | string or null |
| amount required | number |
| currency required | string |
| description | string or null |
| merchantName | string or null |
| transactionDate | string or null <date> |
| occurredAt | string or null <date-time> |
| clientMutationId | string or null |
{- "accountId": 0,
- "categoryId": "string",
- "amount": 0,
- "currency": "string",
- "description": "string",
- "merchantName": "string",
- "transactionDate": "2019-08-24",
- "occurredAt": "2019-08-24T14:15:22Z",
- "clientMutationId": "string"
}{- "id": 0,
- "workspaceId": 0,
- "accountId": 0,
- "accountName": "string",
- "categoryId": "string",
- "categoryName": "string",
- "amount": 0,
- "currency": "string",
- "sourceType": "manual",
- "externalId": "string",
- "status": "pending",
- "merchantName": "string",
- "description": "string",
- "transactionDate": "2019-08-24",
- "occurredAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "clientMutationId": "string"
}| workspaceId required | integer |
| transactionId required | integer |
| accountId | integer or null |
| categoryId | string or null |
| description | string or null |
| merchantName | string or null |
| transactionDate | string or null <date> |
| occurredAt | string or null <date-time> |
| status | string Enum: "pending" "posted" "cancelled" |
{- "accountId": 0,
- "categoryId": "string",
- "description": "string",
- "merchantName": "string",
- "transactionDate": "2019-08-24",
- "occurredAt": "2019-08-24T14:15:22Z",
- "status": "pending"
}{- "id": 0,
- "workspaceId": 0,
- "accountId": 0,
- "accountName": "string",
- "categoryId": "string",
- "categoryName": "string",
- "amount": 0,
- "currency": "string",
- "sourceType": "manual",
- "externalId": "string",
- "status": "pending",
- "merchantName": "string",
- "description": "string",
- "transactionDate": "2019-08-24",
- "occurredAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "clientMutationId": "string"
}| workspaceId required | integer |
| period_type | string Default: "monthly" Enum: "daily" "weekly" "monthly" "yearly" |
| updated_after | string <date-time> |
[- {
- "id": 0,
- "workspaceId": 0,
- "categoryId": "string",
- "categoryName": "string",
- "limitAmount": 0,
- "periodType": "daily",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "isActive": true,
- "spent": 0,
- "remaining": 0,
- "percentage": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
]| workspaceId required | integer |
| categoryId required | string |
| limitAmount | number |
| periodType | string Enum: "daily" "weekly" "monthly" "yearly" |
| startDate | string or null <date> |
| endDate | string or null <date> |
| isActive | boolean |
{- "limitAmount": 0,
- "periodType": "daily",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "isActive": true
}{- "id": 0,
- "workspaceId": 0,
- "categoryId": "string",
- "categoryName": "string",
- "limitAmount": 0,
- "periodType": "daily",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "isActive": true,
- "spent": 0,
- "remaining": 0,
- "percentage": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}| workspaceId required | integer |
| period_type | string Default: "monthly" Enum: "daily" "weekly" "monthly" "yearly" |
[- {
- "user_id": 0,
- "first_name": "string",
- "last_name": "string",
- "telegram_id": 0,
- "category_id": "string",
- "category_name": "string",
- "total_spent": 0,
- "transaction_count": 0
}
]| workspaceId required | integer |
| telegram_id | integer |
| period_type | string Default: "monthly" Enum: "daily" "weekly" "monthly" "yearly" |
{- "user_id": 0,
- "first_name": "string",
- "last_name": "string",
- "total_spent": 0,
- "total_transactions": 0,
- "by_category": [
- {
- "category_id": "string",
- "category_name": "string",
- "spent": 0,
- "transactions": 0
}
]
}| workspaceId required | integer |
| updated_after | string <date-time> |
{- "watermark": "string",
- "fullSync": true,
- "accounts": {
- "items": [
- {
- "id": 0,
- "workspaceId": 0,
- "userId": 0,
- "name": "string",
- "type": "string",
- "currency": "string",
- "currentBalance": 0,
- "availableBalance": 0,
- "bankConnectionId": 0,
- "lastSyncedAt": "2019-08-24T14:15:22Z",
- "isArchived": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "tombstones": [
- {
- "id": 0,
- "deletedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}, - "categories": {
- "items": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "type": "expense",
- "scopeType": "global",
- "workspaceId": 0,
- "userId": 0,
- "isSystem": true,
- "iconCodePoint": 0,
- "color": 0,
- "sortOrder": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "tombstones": [
- {
- "id": "string",
- "deletedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}, - "transactions": {
- "items": [
- {
- "id": 0,
- "workspaceId": 0,
- "accountId": 0,
- "accountName": "string",
- "categoryId": "string",
- "categoryName": "string",
- "amount": 0,
- "currency": "string",
- "sourceType": "manual",
- "externalId": "string",
- "status": "pending",
- "merchantName": "string",
- "description": "string",
- "transactionDate": "2019-08-24",
- "occurredAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "clientMutationId": "string"
}
], - "tombstones": [
- {
- "id": 0,
- "deletedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}, - "limits": {
- "items": [
- {
- "id": 0,
- "workspaceId": 0,
- "categoryId": "string",
- "categoryName": "string",
- "limitAmount": 0,
- "periodType": "daily",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "isActive": true,
- "spent": 0,
- "remaining": 0,
- "percentage": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "tombstones": [
- {
- "id": 0,
- "deletedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}