---
canonical_url: "https://docs.composio.dev/toolkits/pocketsmith"
markdown_url: "https://docs.composio.dev/toolkits/pocketsmith.md"
product: "platform"
version: null
last_updated: null
---

# PocketSmith

PocketSmith is a personal finance platform for tracking accounts and transactions, managing budgets, and forecasting financial outcomes.

- **Category:** accounting
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 14
- **Triggers:** 0
- **Slug:** `POCKETSMITH`
- **Version:** 00000000_00

## Tools

### Create Category

**Slug:** `POCKETSMITH_CREATE_CATEGORY`

Create one category for a PocketSmith user with optional hierarchy and budgeting behavior.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `color` | string | No | CSS hexadecimal color in #RRGGBB format. |
| `title` | string | Yes | Category title. |
| `is_bill` | boolean | No | Whether this is a bill category. |
| `roll_up` | boolean | No | Whether budget figures should roll up into the parent category. |
| `user_id` | integer | Yes | PocketSmith user ID returned by POCKETSMITH_GET_CURRENT_USER. |
| `is_transfer` | boolean | No | Whether this is a transfer category. |
| `refund_behavior` | string ("debits_are_deductions" | "credits_are_refunds") | No | How PocketSmith should treat refunds in this category. |
| `parent_category_id` | integer | No | Existing category ID that should become this category's parent. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Transaction

**Slug:** `POCKETSMITH_CREATE_TRANSACTION`

Create one transaction in a specified transaction account and return the created financial record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Date the transaction occurred in YYYY-MM-DD format. |
| `memo` | string | No | Memo for the transaction. |
| `note` | string | No | Detailed note for the transaction. |
| `payee` | string | Yes | Payee or merchant for the transaction. |
| `amount` | number | Yes | Signed amount: positive for a credit and negative for a debit. |
| `labels` | array | No | Labels to assign to the transaction. |
| `category_id` | integer | No | Category ID to assign to the transaction. |
| `is_transfer` | boolean | No | Whether this transaction represents a transfer. |
| `needs_review` | boolean | No | Whether the transaction should be marked for review. |
| `cheque_number` | string | No | Cheque number associated with the transaction. |
| `transaction_account_id` | integer | Yes | Transaction-account ID returned by POCKETSMITH_LIST_TRANSACTION_ACCOUNTS. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Budget

**Slug:** `POCKETSMITH_GET_BUDGET`

Return a PocketSmith user's current category-level actual and forecast budget analysis. During probing, this read coincided with forecast cache access/update timestamps changing to the call timestamp and the forecast start date also changing; PocketSmith may therefore refresh derived forecast-cache metadata while serving it, although the probe did not establish that every call does so.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roll_up` | boolean | No | Whether parent-category actual and forecast totals should include child categories. Child categories still appear separately. |
| `user_id` | integer | Yes | PocketSmith user ID returned by POCKETSMITH_GET_CURRENT_USER. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Budget Summary

**Slug:** `POCKETSMITH_GET_BUDGET_SUMMARY`

Analyze the user's combined income and expense budget over a required date range and period interval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `period` | string ("weeks" | "months" | "years" | "event") | Yes | Unit used to group the analysis; event works only when gathered budget events align. |
| `user_id` | integer | Yes | PocketSmith user ID returned by POCKETSMITH_GET_CURRENT_USER. |
| `end_date` | string | Yes | End of the analysis range in YYYY-MM-DD format; PocketSmith may expand it to complete periods. |
| `interval` | integer | Yes | Number of period units in each analysis bucket, such as 2 weeks for fortnightly results. |
| `start_date` | string | Yes | Start of the analysis range in YYYY-MM-DD format; PocketSmith may expand it to complete periods. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current User

**Slug:** `POCKETSMITH_GET_CURRENT_USER`

Return the PocketSmith user authorized by the connected developer key, including the user ID needed by user-scoped tools.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Transaction

**Slug:** `POCKETSMITH_GET_TRANSACTION`

Return one PocketSmith transaction by ID with its amount, date, payee, category, labels, and review state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `transaction_id` | integer | Yes | ID of the transaction to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Accounts

**Slug:** `POCKETSMITH_LIST_ACCOUNTS`

Return all financial accounts belonging to a PocketSmith user, including account, primary transaction-account, and scenario IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | PocketSmith user ID returned by POCKETSMITH_GET_CURRENT_USER. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Categories

**Slug:** `POCKETSMITH_LIST_CATEGORIES`

Return all categories belonging to a PocketSmith user, including hierarchy and budgeting flags.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | PocketSmith user ID returned by POCKETSMITH_GET_CURRENT_USER. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Transaction Accounts

**Slug:** `POCKETSMITH_LIST_TRANSACTION_ACCOUNTS`

Return the transaction accounts belonging to a PocketSmith user, including IDs and balances needed to create and query transactions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | PocketSmith user ID returned by POCKETSMITH_GET_CURRENT_USER. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Transactions

**Slug:** `POCKETSMITH_LIST_TRANSACTIONS`

Return one page of a user's transactions with optional date, state, type, and keyword filters, plus a cursor for the next page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Keyword matched against amount, account, payee, category, note, labels, and date. |
| `user_id` | integer | Yes | PocketSmith user ID returned by POCKETSMITH_GET_CURRENT_USER. |
| `end_date` | string | No | Latest transaction date, inclusive. Supply together with start_date. |
| `per_page` | integer | No | Maximum transactions in this page (10-1000). |
| `start_date` | string | No | Earliest transaction date, inclusive. Supply together with end_date. |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |
| `needs_review` | boolean | No | When true, return only transactions marked for review. |
| `uncategorized` | boolean | No | When true, return only uncategorized transactions. |
| `updated_since` | string | No | Return only transactions updated since this ISO 8601 timestamp. |
| `transaction_type` | string ("debit" | "credit") | No | Return only debit or credit transactions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Account

**Slug:** `POCKETSMITH_UPDATE_ACCOUNT`

Update selected metadata on one financial account without deleting it or changing transaction-account balances.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | New account title. |
| `account_id` | integer | Yes | ID of the financial account to update, returned by POCKETSMITH_LIST_ACCOUNTS. |
| `account_type` | string ("bank" | "credits" | "cash" | "loans" | "mortgage" | "stocks" | "vehicle" | "property" | "insurance" | "other_asset" | "other_liability") | No | New PocketSmith account type. |
| `is_net_worth` | boolean | No | Whether PocketSmith should include the account in net worth. |
| `currency_code` | string | No | New PocketSmith currency code, such as USD or NZD. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Category

**Slug:** `POCKETSMITH_UPDATE_CATEGORY`

Update selected hierarchy, display, and budgeting fields on one category without deleting it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `color` | string | No | New CSS hexadecimal color in #RRGGBB format. |
| `title` | string | No | New category title. |
| `is_bill` | boolean | No | Whether this is a bill category. |
| `roll_up` | boolean | No | Whether budget figures roll up into the parent category. |
| `category_id` | integer | Yes | ID of the category to update. |
| `is_transfer` | boolean | No | Whether this is a transfer category. |
| `refund_behavior` | string ("debits_are_deductions" | "credits_are_refunds") | No | New refund treatment for this category. |
| `parent_category_id` | integer | No | New parent category ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Transaction

**Slug:** `POCKETSMITH_UPDATE_TRANSACTION`

Update selected fields on one existing transaction without deleting or splitting it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | New transaction date in YYYY-MM-DD format. |
| `memo` | string | No | New transaction memo. |
| `note` | string | No | New detailed transaction note. |
| `payee` | string | No | New payee or merchant. |
| `amount` | number | No | New signed amount: positive for a credit and negative for a debit. |
| `labels` | array | No | Replacement labels. Supply an empty list to remove all labels. |
| `category_id` | integer | No | New category ID for the transaction. |
| `is_transfer` | boolean | No | Whether this transaction represents a transfer. |
| `needs_review` | boolean | No | Whether the transaction needs review. |
| `cheque_number` | string | No | New cheque number. |
| `clear_category` | boolean | No | Set true to remove the transaction's current category. |
| `transaction_id` | integer | Yes | ID of the transaction to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Transactions

**Slug:** `POCKETSMITH_UPDATE_TRANSACTIONS`

Update 1-20 distinct transactions sequentially. The operation is not atomic: successful updates are not rolled back, each item has an explicit outcome, and processing stops after an authentication, permission, rate-limit, server, unexpected-response, or ambiguous transport failure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `updates` | array | Yes | Ordered updates for 1-20 distinct transactions. Each item is sent as a separate sequential PocketSmith request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
