# PocketSmith API

> PocketSmith API on Apizie: 56 endpoints (Get account, Update account, Delete account, List transactions in account, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://www.apizie.tech/v1/finance:pocketsmith/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `finance:pocketsmith`
- Category: Finance
- Status: byok
- Source: https://pocketsmith.com
- Page: https://www.apizie.tech/api/finance/pocketsmith
- OpenAPI: https://www.apizie.tech/api/finance/pocketsmith/openapi.json

The PocketSmith API

## Endpoints

### Get account
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-accounts-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the account. |

### Update account
`POST https://www.apizie.tech/v1/finance:pocketsmith/put-accounts-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the account. |
| body | object | no | JSON request body |

### Delete account
`POST https://www.apizie.tech/v1/finance:pocketsmith/delete-accounts-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the account. |

### List transactions in account
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-accounts-id-transactions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the account. |
| start_date | string | no | Limit to transactions on or after this date. Required if end_date is provided. If not provided, defaults to the furtherest date allowed by… |
| end_date | string | no | Limit to transactions on or before this date. Required if start_date is provided. If not provided, defaults to today's date. |
| updated_since | string | no | Limit to transactions updated since an ISO 8601 timestamp. |
| uncategorised | integer | no | Limit to uncategorised transactions. |
| type | string | no | Limit to transactions of this type. |
| needs_review | integer | no | Limit to transactions that need to be reviewed. |
| search | string | no | Limit to transactions matching a keyword search string. The provided string is matched against the transaction amount, account name,… |
| page | integer | no | Choose a particular page of the results. |

### Get attachment
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-attachments-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the attachment. |

### Update attachment
`POST https://www.apizie.tech/v1/finance:pocketsmith/put-attachments-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the attachment. |
| body | object | no | JSON request body |

### Delete attachment
`POST https://www.apizie.tech/v1/finance:pocketsmith/delete-attachments-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the attachment. |

### Get category
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-categories-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the category. |

### Update category
`POST https://www.apizie.tech/v1/finance:pocketsmith/put-categories-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the category. |
| body | object | no | JSON request body |

### Delete category
`POST https://www.apizie.tech/v1/finance:pocketsmith/delete-categories-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the category. |

### Create category rule in category
`POST https://www.apizie.tech/v1/finance:pocketsmith/post-categories-id-category-rules` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the category. |
| body | object | no | JSON request body |

### List transactions in categories
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-categories-id-transactions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | A comma-separated list of category IDs. |
| start_date | string | no | Limit to transactions on or after this date. Required if end_date is provided. If not provided, defaults to the furtherest date allowed by… |
| end_date | string | no | Limit to transactions on or before this date. Required if start_date is provided. If not provided, defaults to today's date. |
| updated_since | string | no | Limit to transactions updated since an ISO 8601 timestamp. |
| uncategorised | integer | no | Limit to uncategorised transactions. |
| type | string | no | Limit to transactions of this type. |
| needs_review | integer | no | Limit to transactions that need to be reviewed. |
| search | string | no | Limit to transactions matching a keyword search string. The provided string is matched against the transaction amount, account name,… |
| page | integer | no | Choose a particular page of the results. |

### List currencies
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-currencies` (byok)

### Get currency
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-currencies-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the currency. |

### Get event
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-events-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the event. |

### Update event
`POST https://www.apizie.tech/v1/finance:pocketsmith/put-events-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the event. |
| body | object | no | JSON request body |

### Delete event
`POST https://www.apizie.tech/v1/finance:pocketsmith/delete-events-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the event. |
| behaviour | string | yes | Whether the delete applies only to this event, to all events within the series from this event or to all events within the series. |

### Get institution
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-institutions-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the institution. |

### Update institution
`POST https://www.apizie.tech/v1/finance:pocketsmith/put-institutions-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the institution. |
| body | object | no | JSON request body |

### Delete institution
`POST https://www.apizie.tech/v1/finance:pocketsmith/delete-institutions-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the institution. |
| merge_into_institution_id | integer | no | The unique identifier of the institution to merge into. |

### List accounts in institution
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-institutions-id-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the institution. |

### Get the authorised user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-me` (byok)

### List events in scenario.
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-scenarios-id-events` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the scenario. |
| start_date | string | yes | Return the events from and including this date. |
| end_date | string | yes | Return the events until and including this date. |

### Create event in scenario
`POST https://www.apizie.tech/v1/finance:pocketsmith/post-scenarios-id-events` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the scenario. |
| body | object | no | JSON request body |

### List time zones
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-time-zones` (byok)

### Get transaction account
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-transaction-accounts-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the transaction account. |

### Update transaction account
`POST https://www.apizie.tech/v1/finance:pocketsmith/put-transaction-accounts-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the transaction account. |
| body | object | no | JSON request body |

### List transactions in transaction account
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-transaction-accounts-id-transactions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the transaction account. |
| start_date | string | no | Limit to transactions on or after this date. Required if end_date is provided. If not provided, defaults to the furtherest date allowed by… |
| end_date | string | no | Limit to transactions on or before this date. Required if start_date is provided. If not provided, defaults to today's date. |
| updated_since | string | no | Limit to transactions updated since an ISO 8601 timestamp. |
| uncategorised | integer | no | Limit to uncategorised transactions. |
| type | string | no | Limit to transactions of this type. |
| needs_review | integer | no | Limit to transactions that need to be reviewed. |
| search | string | no | Limit to transactions matching a keyword search string. The provided string is matched against the transaction amount, account name,… |
| page | integer | no | Choose a particular page of the results. |

### Create a transaction in transaction account
`POST https://www.apizie.tech/v1/finance:pocketsmith/post-transaction-accounts-id-transactions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the transaction account. |
| body | object | no | JSON request body |

### Get a transaction
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-transactions-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the transaction. |

### Update a transaction
`POST https://www.apizie.tech/v1/finance:pocketsmith/put-transactions-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the transaction. |
| body | object | no | JSON request body |

### Delete transaction
`POST https://www.apizie.tech/v1/finance:pocketsmith/delete-transactions-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the transaction. |

### List attachments in transaction
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-transactions-id-attachments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the transaction. |

### Assigns attachment to transaction
`POST https://www.apizie.tech/v1/finance:pocketsmith/post-transactions-id-attachments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the transaction. |
| body | object | no | JSON request body |

### Unassigns attachment in transaction
`POST https://www.apizie.tech/v1/finance:pocketsmith/delete-transactions-transaction-id-attachments-attachment-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| transaction_id | integer | yes | The unique identifier of the transaction. |
| attachment_id | integer | yes | The unique identifier of the attachment. |

### Get user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |

### Update user
`POST https://www.apizie.tech/v1/finance:pocketsmith/put-users-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |
| body | object | no | JSON request body |

### List accounts in user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |

### Create an account in user
`POST https://www.apizie.tech/v1/finance:pocketsmith/post-users-id-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |
| body | object | no | JSON request body |

### Update the display order of accounts in user
`POST https://www.apizie.tech/v1/finance:pocketsmith/put-users-id-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |
| body | object | no | JSON request body |

### Lists attachments in user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-attachments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |
| unassigned | integer | no | If set, returns unassigned attachments, that are available for assigning to a transaction. |

### Create attachment in user
`POST https://www.apizie.tech/v1/finance:pocketsmith/post-users-id-attachments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |
| body | object | no | JSON request body |

### List budget for user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-budget` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the account. |
| roll_up | boolean | no | Whether parent categories should have their children rolled up into them. When used, the children will still appear in the collection on… |

### Get budget summary for user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-budget-summary` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |
| period | string | yes | The period to analyse in, one of `weeks`, `months` or `years`. Also supported is `event`, although event period analysis is only possible… |
| interval | integer | yes | The period interval, e.g. if the interval is 2 and the period is weeks, the budget will be analysed fortnightly. |
| start_date | string | yes | The date to start analysing the budget from. This will be bumped out to make full periods as necessary. |
| end_date | string | yes | The date to stop analysing the budget from. This will be bumped out to make full periods as necessary. |

### List categories in user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-categories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |

### Create category in user
`POST https://www.apizie.tech/v1/finance:pocketsmith/post-users-id-categories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |
| body | object | no | JSON request body |

### List category rules in user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-category-rules` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |

### List events in user.
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-events` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |
| start_date | string | yes | Return the events from and including this date. |
| end_date | string | yes | Return the events until and including this date. |

### Delete forecast cache for user
`POST https://www.apizie.tech/v1/finance:pocketsmith/delete-users-id-forecast-cache` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |

### List institutions in user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-institutions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user |

### Create institution in user
`POST https://www.apizie.tech/v1/finance:pocketsmith/post-users-id-institutions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user |
| body | object | no | JSON request body |

### List labels in user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-labels` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |

### List saved searches in user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-saved-searches` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |

### List transaction accounts in user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-transaction-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |

### List transactions in user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-transactions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the account. |
| start_date | string | no | Limit to transactions on or after this date. Required if end_date is provided. If not provided, defaults to the furtherest date allowed by… |
| end_date | string | no | Limit to transactions on or before this date. Required if start_date is provided. If not provided, defaults to today's date. |
| updated_since | string | no | Limit to transactions updated since an ISO 8601 timestamp. |
| uncategorised | integer | no | Limit to uncategorised transactions. |
| type | string | no | Limit to transactions of this type. |
| needs_review | integer | no | Limit to transactions that need to be reviewed. |
| search | string | no | Limit to transactions matching a keyword search string. The provided string is matched against the transaction amount, account name,… |
| page | integer | no | Choose a particular page of the results. |

### Get trend analysis for user
`GET https://www.apizie.tech/v1/finance:pocketsmith/get-users-id-trend-analysis` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The unique identifier of the user. |
| period | string | yes | The period to analyse in, one of `weeks`, `months` or `years`. Also supported is `event`, although event period analysis is only possible… |
| interval | integer | yes | The period interval, e.g. if the interval is 2 and the period is weeks, the budget will be analysed fortnightly. |
| start_date | string | yes | The date to start analysing the budget from. This will be bumped out to make full periods as necessary. |
| end_date | string | yes | The date to stop analysing the budget from. This will be bumped out to make full periods as necessary. |
| categories | string | yes | A comma-separated list of category IDs to analyse. |
| scenarios | string | yes | A comma-separated list of scenario IDs to analyse. You're likely going to want to include all a user's scenarios here, unless you have… |

## Example
```
curl "https://www.apizie.tech/v1/finance:pocketsmith/get-accounts-id" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the PocketSmith API?
Create a free Apizie key, then send GET https://www.apizie.tech/v1/finance:pocketsmith/get-accounts-id with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the PocketSmith API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. PocketSmith itself also needs your own key from pocketsmith.com.

### Can AI agents use the PocketSmith API?
Yes. Add the Apizie MCP server (https://www.apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key finance:pocketsmith.

### What is the status of the PocketSmith API?
Needs your own provider key (bring your own key)
