Download OpenAPI specification:Download
A secure and simple way to access financial data and enable powerful financial apps.
Learn more about Wealthica API
The Wealthica website is using this same API. One way to quickly get going with Wealthica API is looking at the calls made by our dashboard by inspecting the network calls (using Chrome Inspector for example).
Check /auth/token endpoint for how to get an API token.
Users can give read-only access of their data to specific Wealthica users via the Sharings API. Wealthica uses the term sharer for users who share read-only access of their data to other users, and sharee for users who are given read-only access of other users.
For sharees to request data of a sharer, aside from the API Authorization header, sharees will need to pass the sharer's user ID in a request header in the following format: X-Wealthica-Effective-User: [sharer user id]. When the header is present, API requests will be carried out on behalf of the sharer, instead of the user identified by the token.
Currently X-Wealthica-Effective-User header is only supported in GET requests. The header is ignored in other types of request and special endpoints such as /v1/login.
Returns an authentication token. The token is to be included in API request header for authentication purpose.
| loginName required | string The user's unique identification from your system (could be the username, id, or email). |
API client and secret
| clientId required | string API Client ID |
| secret required | string API Secret |
{- "clientId": "string",
- "secret": "string"
}{- "token": "string"
}Returns the list of institutions (optionally at some specific date) belonging to the user that has authorized with the application.
| date | string <date> The date at which to capture the data. |
| deleted | boolean Whether or not to return deleted items.
|
[- {
- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "name": "Demo",
- "type": "string",
- "manual": true,
- "investments": [
- {
- "_id": "demo:cash:usd",
- "id": "demo",
- "type": "cash",
- "currency": "aud",
- "name": "Investment Name",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "cash": 0,
- "currency_value": 0,
- "value": 0,
- "book_value": 0,
- "market_value": 0,
- "overall_gain": 0,
- "overall_currency_gain": 0,
- "overall_roi": 0,
- "registered": true,
- "ignored": true,
- "inactive": true,
- "interest_rate": 0,
- "positions": [
- {
- "_id": "5742b1f7535cf2baba8fff91",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "investments": [
- {
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "currency": "aud",
- "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "manual": true,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "category": "investments",
- "account_number": "string",
- "owner_type": "individual"
}
], - "accounts": [
- "string"
], - "overall_gain": 0,
- "overall_roi": 0,
- "value": 0,
- "market_value": 0,
- "book_value": 0,
- "cash": 0,
- "sync_status": "ok",
- "sync_date": "2019-08-24T14:15:22Z",
- "sync_request_date": "2019-08-24T14:15:22Z",
- "sync_error": {
- "name": "LoginFailedError",
- "message": "string",
- "options": [
- "Michael",
- "Michelle",
- "Mitchell"
]
}, - "sync_status_details": {
- "investments": "ok",
- "positions": "ok",
- "transactions": "ok",
- "documents": "ok",
- "date": "2019-08-24T14:15:22Z"
}, - "authorized": true,
- "retry_count": 0,
- "retry_date": "2019-08-24T14:15:22Z",
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true,
- "webhook_uri": "string"
}
]Add a new user institution to the authorized user account.
Automated Institutions: Each institution requires a different set of credentials. See the table below for the list of institutions Wealthica currently supports, and the corresponding attributes that are required for the credentials object. Adding an automated institution will toggle an asynchronous first sync task. If the institution returns a login failed on the first sync, the institution will automatically be removed from the user's institutions list.
Manual Institutions: Set manual: true to create a manual institution that doesn't require credentials and won't be synced automatically. Manual institutions allow users to manually manage account balances, positions, and transactions.
The institution object that needs to be added.
| name | string Name of the institution. |
| manual | boolean Set to true to create a manual institution that doesn't require credentials and won't be synced automatically. Manual institutions allow users to manually manage account balances, positions, and transactions. Defaults to false for automated institutions. |
| logo | string <uri> Base64 encoded data URI for the institution logo (max 100KB). Only supported for manual institutions. Example: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==" |
Array of objects Array of investment accounts for manual institutions. Each investment represents an account within the institution. Only supported for manual institutions. | |
object Credentials needed for connecting to the financial institutions. The credentials object varies according to institution type. See the Institutions table for a list of credentials type to be used. | |
| sync_documents | boolean Whether or not to sync documents from this institution. Defaults to true. |
| sync_transactions | boolean Whether or not to sync transactions from this institution. Defaults to true. |
| daily_sync | boolean Whether or not to sync this institution daily. Defaults to true. |
| webhook_uri | string or null Optional HTTPS URL to receive webhook notifications for this institution. Contact us if you wish to enable this feature. |
| type required | string Type of the institution. Get the list of supported types from the /providers endpoint. |
{- "name": "string",
- "manual": true,
- "investments": [
- {
- "_id": "string",
- "name": "string",
- "currency_value": 0
}
], - "credentials": {
- "code": "string",
- "token": "string",
- "query_id": "string",
- "username": "string",
- "password": "string",
- "user_id": "string",
- "key": "string",
- "secret": "string",
- "employer": "string",
- "account_number": "string"
}, - "sync_documents": true,
- "sync_transactions": true,
- "daily_sync": true,
- "webhook_uri": "string",
- "type": "string"
}{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "name": "Demo",
- "type": "string",
- "manual": true,
- "investments": [
- {
- "_id": "demo:cash:usd",
- "id": "demo",
- "type": "cash",
- "currency": "aud",
- "name": "Investment Name",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "cash": 0,
- "currency_value": 0,
- "value": 0,
- "book_value": 0,
- "market_value": 0,
- "overall_gain": 0,
- "overall_currency_gain": 0,
- "overall_roi": 0,
- "registered": true,
- "ignored": true,
- "inactive": true,
- "interest_rate": 0,
- "positions": [
- {
- "_id": "5742b1f7535cf2baba8fff91",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "investments": [
- {
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "currency": "aud",
- "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "manual": true,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "category": "investments",
- "account_number": "string",
- "owner_type": "individual"
}
], - "accounts": [
- "string"
], - "overall_gain": 0,
- "overall_roi": 0,
- "value": 0,
- "market_value": 0,
- "book_value": 0,
- "cash": 0,
- "sync_status": "ok",
- "sync_date": "2019-08-24T14:15:22Z",
- "sync_request_date": "2019-08-24T14:15:22Z",
- "sync_error": {
- "name": "LoginFailedError",
- "message": "string",
- "options": [
- "Michael",
- "Michelle",
- "Mitchell"
]
}, - "sync_status_details": {
- "investments": "ok",
- "positions": "ok",
- "transactions": "ok",
- "documents": "ok",
- "date": "2019-08-24T14:15:22Z"
}, - "authorized": true,
- "retry_count": 0,
- "retry_date": "2019-08-24T14:15:22Z",
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true,
- "webhook_uri": "string"
}Returns an institution that belongs to the authorized user, provided a valid ID.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "name": "Demo",
- "type": "string",
- "manual": true,
- "investments": [
- {
- "_id": "demo:cash:usd",
- "id": "demo",
- "type": "cash",
- "currency": "aud",
- "name": "Investment Name",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "cash": 0,
- "currency_value": 0,
- "value": 0,
- "book_value": 0,
- "market_value": 0,
- "overall_gain": 0,
- "overall_currency_gain": 0,
- "overall_roi": 0,
- "registered": true,
- "ignored": true,
- "inactive": true,
- "interest_rate": 0,
- "positions": [
- {
- "_id": "5742b1f7535cf2baba8fff91",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "investments": [
- {
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "currency": "aud",
- "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "manual": true,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "category": "investments",
- "account_number": "string",
- "owner_type": "individual"
}
], - "accounts": [
- "string"
], - "overall_gain": 0,
- "overall_roi": 0,
- "value": 0,
- "market_value": 0,
- "book_value": 0,
- "cash": 0,
- "sync_status": "ok",
- "sync_date": "2019-08-24T14:15:22Z",
- "sync_request_date": "2019-08-24T14:15:22Z",
- "sync_error": {
- "name": "LoginFailedError",
- "message": "string",
- "options": [
- "Michael",
- "Michelle",
- "Mitchell"
]
}, - "sync_status_details": {
- "investments": "ok",
- "positions": "ok",
- "transactions": "ok",
- "documents": "ok",
- "date": "2019-08-24T14:15:22Z"
}, - "authorized": true,
- "retry_count": 0,
- "retry_date": "2019-08-24T14:15:22Z",
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true,
- "webhook_uri": "string"
}Update an existing user institution. If credentials are provided, a synchronization will be triggered.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
The institution object for update.
| name | string Name of the institution. |
| manual | boolean Set to true to create a manual institution that doesn't require credentials and won't be synced automatically. Manual institutions allow users to manually manage account balances, positions, and transactions. Defaults to false for automated institutions. |
| logo | string <uri> Base64 encoded data URI for the institution logo (max 100KB). Only supported for manual institutions. Example: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==" |
Array of objects Array of investment accounts for manual institutions. Each investment represents an account within the institution. Only supported for manual institutions. | |
object Credentials needed for connecting to the financial institutions. The credentials object varies according to institution type. See the Institutions table for a list of credentials type to be used. | |
| sync_documents | boolean Whether or not to sync documents from this institution. Defaults to true. |
| sync_transactions | boolean Whether or not to sync transactions from this institution. Defaults to true. |
| daily_sync | boolean Whether or not to sync this institution daily. Defaults to true. |
| webhook_uri | string or null Optional HTTPS URL to receive webhook notifications for this institution. Contact us if you wish to enable this feature. |
| portfolio_manager | string Name of the portfolio manager from the institution. |
| deleted | boolean Whether or not the item is marked as deleted. Deleted items are not taken into account in calculations. |
| security_answer | string Answer to the security question prompted by the institution website. If |
{- "name": "string",
- "manual": true,
- "investments": [
- {
- "_id": "demo:cash:usd",
- "name": "Investment Name",
- "currency_value": 0,
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "ignored": true,
- "category": "investments"
}
], - "credentials": {
- "code": "string",
- "token": "string",
- "query_id": "string",
- "username": "string",
- "password": "string",
- "user_id": "string",
- "key": "string",
- "secret": "string",
- "employer": "string",
- "account_number": "string"
}, - "sync_documents": true,
- "sync_transactions": true,
- "daily_sync": true,
- "webhook_uri": "string",
- "portfolio_manager": "string",
- "deleted": true,
- "security_answer": "string"
}{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "name": "Demo",
- "type": "string",
- "manual": true,
- "investments": [
- {
- "_id": "demo:cash:usd",
- "id": "demo",
- "type": "cash",
- "currency": "aud",
- "name": "Investment Name",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "cash": 0,
- "currency_value": 0,
- "value": 0,
- "book_value": 0,
- "market_value": 0,
- "overall_gain": 0,
- "overall_currency_gain": 0,
- "overall_roi": 0,
- "registered": true,
- "ignored": true,
- "inactive": true,
- "interest_rate": 0,
- "positions": [
- {
- "_id": "5742b1f7535cf2baba8fff91",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "investments": [
- {
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "currency": "aud",
- "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "manual": true,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "category": "investments",
- "account_number": "string",
- "owner_type": "individual"
}
], - "accounts": [
- "string"
], - "overall_gain": 0,
- "overall_roi": 0,
- "value": 0,
- "market_value": 0,
- "book_value": 0,
- "cash": 0,
- "sync_status": "ok",
- "sync_date": "2019-08-24T14:15:22Z",
- "sync_request_date": "2019-08-24T14:15:22Z",
- "sync_error": {
- "name": "LoginFailedError",
- "message": "string",
- "options": [
- "Michael",
- "Michelle",
- "Mitchell"
]
}, - "sync_status_details": {
- "investments": "ok",
- "positions": "ok",
- "transactions": "ok",
- "documents": "ok",
- "date": "2019-08-24T14:15:22Z"
}, - "authorized": true,
- "retry_count": 0,
- "retry_date": "2019-08-24T14:15:22Z",
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true,
- "webhook_uri": "string"
}Blocks (for max 30 seconds) listening for change to an institution, and returns the updated version if any.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
| v | number Base version number of the institution, which is usually the newest version number that the API client knows. If provided it will be used to compare with the latest version number on the server to determine if the institution has been updated (its investments are retrieved, positions are updated, or sync is finished). Defaults to the version number at the start of the poll. |
{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "name": "Demo",
- "type": "string",
- "manual": true,
- "investments": [
- {
- "_id": "demo:cash:usd",
- "id": "demo",
- "type": "cash",
- "currency": "aud",
- "name": "Investment Name",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "cash": 0,
- "currency_value": 0,
- "value": 0,
- "book_value": 0,
- "market_value": 0,
- "overall_gain": 0,
- "overall_currency_gain": 0,
- "overall_roi": 0,
- "registered": true,
- "ignored": true,
- "inactive": true,
- "interest_rate": 0,
- "positions": [
- {
- "_id": "5742b1f7535cf2baba8fff91",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "investments": [
- {
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "currency": "aud",
- "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "manual": true,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "category": "investments",
- "account_number": "string",
- "owner_type": "individual"
}
], - "accounts": [
- "string"
], - "overall_gain": 0,
- "overall_roi": 0,
- "value": 0,
- "market_value": 0,
- "book_value": 0,
- "cash": 0,
- "sync_status": "ok",
- "sync_date": "2019-08-24T14:15:22Z",
- "sync_request_date": "2019-08-24T14:15:22Z",
- "sync_error": {
- "name": "LoginFailedError",
- "message": "string",
- "options": [
- "Michael",
- "Michelle",
- "Mitchell"
]
}, - "sync_status_details": {
- "investments": "ok",
- "positions": "ok",
- "transactions": "ok",
- "documents": "ok",
- "date": "2019-08-24T14:15:22Z"
}, - "authorized": true,
- "retry_count": 0,
- "retry_date": "2019-08-24T14:15:22Z",
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true,
- "webhook_uri": "string"
}Trigger synchronization for the institution. Manual institutions cannot be synced and will return a 400 error.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
| interactive | boolean Run sync task in interactive mode. |
| force | boolean Run sync task with ignore-lock argument. |
{- "interactive": true,
- "force": true
}{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "name": "Demo",
- "type": "string",
- "manual": true,
- "investments": [
- {
- "_id": "demo:cash:usd",
- "id": "demo",
- "type": "cash",
- "currency": "aud",
- "name": "Investment Name",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "cash": 0,
- "currency_value": 0,
- "value": 0,
- "book_value": 0,
- "market_value": 0,
- "overall_gain": 0,
- "overall_currency_gain": 0,
- "overall_roi": 0,
- "registered": true,
- "ignored": true,
- "inactive": true,
- "interest_rate": 0,
- "positions": [
- {
- "_id": "5742b1f7535cf2baba8fff91",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "investments": [
- {
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "currency": "aud",
- "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "manual": true,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "category": "investments",
- "account_number": "string",
- "owner_type": "individual"
}
], - "accounts": [
- "string"
], - "overall_gain": 0,
- "overall_roi": 0,
- "value": 0,
- "market_value": 0,
- "book_value": 0,
- "cash": 0,
- "sync_status": "ok",
- "sync_date": "2019-08-24T14:15:22Z",
- "sync_request_date": "2019-08-24T14:15:22Z",
- "sync_error": {
- "name": "LoginFailedError",
- "message": "string",
- "options": [
- "Michael",
- "Michelle",
- "Mitchell"
]
}, - "sync_status_details": {
- "investments": "ok",
- "positions": "ok",
- "transactions": "ok",
- "documents": "ok",
- "date": "2019-08-24T14:15:22Z"
}, - "authorized": true,
- "retry_count": 0,
- "retry_date": "2019-08-24T14:15:22Z",
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true,
- "webhook_uri": "string"
}Returns the list of assets (optionally at some specific date) belonging to the user that has authorized with the application.
| date | string <date> The date at which to capture the data. |
| deleted | boolean Whether or not to return deleted items.
|
[- {
- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Home",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "type": "primary_residence",
- "currency": "aud",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "image": "string",
- "value": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_currency_amount": 0,
- "gain_percent": 0,
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true
}
]Add a new asset to the authorized user account.
The asset object that needs to be added.
| name required | string Name of the asset. |
| category | string The asset category. |
| type required | string Enum: "primary_residence" "secondary_residence" "income_property" "investment_property" "land" "other_real_estate" "private_equity" "private_fund" "vc_fund" "private_loan" "insurance" "other_investment" "other_asset" Type of the asset. |
| currency required | string Enum: "aud" "bbd" "brl" "btc" "cad" "chf" "cny" "dkk" "eth" "eur" "gbp" "hkd" "huf" "ils" "inr" "jpy" "krw" "mxn" "nok" "nzd" "ron" "pln" "aed" "sek" "sgd" "thb" "twd" "usd" "vnd" "zar" The asset currency. |
| book_value required | number >= 0 The book value of the asset, in asset currency. |
| market_value | number >= 0 The market value of the asset, in asset currency. |
{- "name": "Home",
- "category": "string",
- "type": "primary_residence",
- "currency": "aud",
- "book_value": 0,
- "market_value": 0
}{- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Home",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "type": "primary_residence",
- "currency": "aud",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "image": "string",
- "value": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_currency_amount": 0,
- "gain_percent": 0,
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true
}Returns an asset that belongs to the authorized user, provided a valid ID.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
{- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Home",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "type": "primary_residence",
- "currency": "aud",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "image": "string",
- "value": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_currency_amount": 0,
- "gain_percent": 0,
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true
}| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
The asset object for update.
| name | string Name of the asset. |
| class | string Enum: "equity" "fixed_income" "cash_equivalent" "tangible_asset" "private_equity" "preferred_shares" "crypto" "other" The asset class. |
Array of objects The asset classes. | |
| category | string The asset category. |
Array of objects The asset categories. | |
| type | string Enum: "primary_residence" "secondary_residence" "income_property" "investment_property" "land" "other_real_estate" "private_equity" "private_fund" "vc_fund" "private_loan" "insurance" "other_investment" "other_asset" Type of the asset. |
| groups | Array of strings[ items^[a-f0-9]{24}$ ] List of group IDs or name of the groups the item belongs to.
If the list contains a new group name, the group will be automatically created and the ID correctly assigned to the item.
Sending a |
| group | string [Deprecated] ID or name of the group the item belongs to.
If this is a new group name, the group will be automatically created and the ID correctly assigned to the item.
Sending a |
| image | string <data URI> <= 102400 characters The item's image, in base64-encoded data URI. In an UPDATE request, sending a |
| book_value | number >= 0 The book value of the asset, in asset currency. |
| market_value | number >= 0 The market value of the asset, in asset currency. |
| deleted | boolean Whether or not the item is marked as deleted. Deleted items are not taken into account in calculations. |
{- "name": "Home",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "type": "primary_residence",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "image": "string",
- "book_value": 0,
- "market_value": 0,
- "deleted": true
}{- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Home",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "type": "primary_residence",
- "currency": "aud",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "image": "string",
- "value": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_currency_amount": 0,
- "gain_percent": 0,
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true
}Retrieve a list of asset notes filtered by asset or liability.
| asset | string ID of the asset |
| liability | string ID of the liability |
[- {
- "_id": "string",
- "user": "string",
- "asset": "string",
- "liability": "string",
- "title": "string",
- "date": "2019-08-24T14:15:22Z",
- "content": "string",
- "tags": [
- "string"
]
}
]Create a new asset asset note with the provided data.
New asset note object
| user | string ID of the user who owns the asset note |
| asset | string ID of the asset associated with the asset note |
| liability | string ID of the liability associated with the asset note |
| title required | string Title of the asset note |
| date required | string <date-time> Date of the asset note |
| content required | string Content of the asset note |
| tags | Array of strings Tags associated with the asset note |
{- "user": "string",
- "asset": "string",
- "liability": "string",
- "title": "string",
- "date": "2019-08-24T14:15:22Z",
- "content": "string",
- "tags": [
- "string"
]
}{- "_id": "string",
- "user": "string",
- "asset": "string",
- "liability": "string",
- "title": "string",
- "date": "2019-08-24T14:15:22Z",
- "content": "string",
- "tags": [
- "string"
]
}Retrieve asset note by its ID.
| id required | string Asset Note ID |
{- "_id": "string",
- "user": "string",
- "asset": "string",
- "liability": "string",
- "title": "string",
- "date": "2019-08-24T14:15:22Z",
- "content": "string",
- "tags": [
- "string"
]
}Update an existing asset note by its ID.
| id required | string Asset note ID |
Updated asset note object
| title | string Title of the asset note |
| date | string <date-time> Date of the asset note |
| content | string Content of the asset note |
| tags | Array of strings Tags associated with the asset note |
{- "title": "string",
- "date": "2019-08-24T14:15:22Z",
- "content": "string",
- "tags": [
- "string"
]
}{- "_id": "string",
- "user": "string",
- "asset": "string",
- "liability": "string",
- "title": "string",
- "date": "2019-08-24T14:15:22Z",
- "content": "string",
- "tags": [
- "string"
]
}Returns the list of liabilities (optionally at some specific date) belonging to the user that has authorized with the application.
| date | string <date> The date at which to capture the data. |
| deleted | boolean Whether or not to return deleted items.
|
[- {
- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Mortgage",
- "type": "mortgage",
- "currency": "aud",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "image": "string",
- "value": 0,
- "currency_value": 0,
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true
}
]Add a new liability to the authorized user account.
The liability object that needs to be added.
| name required | string Name of the liability. |
| type required | string Enum: "mortgage" "other_debt" "private_loan" "line_of_credit" Type of the liability. |
| currency required | string Enum: "aud" "bbd" "brl" "btc" "cad" "chf" "cny" "dkk" "eth" "eur" "gbp" "hkd" "huf" "ils" "inr" "jpy" "krw" "mxn" "nok" "nzd" "ron" "pln" "aed" "sek" "sgd" "thb" "twd" "usd" "vnd" "zar" The liability currency. |
| currency_value required | number >= 0 The value of the liability, in liability currency. |
{- "name": "Home",
- "type": "mortgage",
- "currency": "aud",
- "currency_value": 0
}{- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Mortgage",
- "type": "mortgage",
- "currency": "aud",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "image": "string",
- "value": 0,
- "currency_value": 0,
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true
}Returns a liability that belongs to the authorized user, provided a valid ID.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
{- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Mortgage",
- "type": "mortgage",
- "currency": "aud",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "image": "string",
- "value": 0,
- "currency_value": 0,
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true
}| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
The liability object for update.
| name | string Name of the liability. |
| type | string Enum: "mortgage" "other_debt" "private_loan" "line_of_credit" Type of the liability. |
| groups | Array of strings[ items^[a-f0-9]{24}$ ] List of group IDs or name of the groups the item belongs to.
If the list contains a new group name, the group will be automatically created and the ID correctly assigned to the item.
Sending a |
| group | string [Deprecated] ID or name of the group the item belongs to.
If this is a new group name, the group will be automatically created and the ID correctly assigned to the item.
Sending a |
| image | string <data URI> <= 102400 characters The item's image, in base64-encoded data URI. In an UPDATE request, sending a |
| currency_value | number >= 0 The value of the liability, in liability currency. |
| deleted | boolean Whether or not the item is marked as deleted. Deleted items are not taken into account in calculations. |
{- "name": "Home",
- "type": "mortgage",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "image": "string",
- "currency_value": 0,
- "deleted": true
}{- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Mortgage",
- "type": "mortgage",
- "currency": "aud",
- "groups": [
- "5742b1f7535cf2baba8fff91"
], - "group": "5742b1f7535cf2baba8fff91",
- "banking": true,
- "image": "string",
- "value": 0,
- "currency_value": 0,
- "creation_date": "2019-08-24T14:15:22Z",
- "deleted": true
}Returns a currency's exchange rate history against another base currency.
If no base currency is provided, redirects to the same endpoint with the base parameter set to the authenticated user's preferred currency. For unauthenticated user, base will be set to 'cad'.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
| from | string <date> The start date of the period to perform the query. This cannot be a date after |
| to | string <date> The end date of the period to perform the query. This cannot be a date before |
| base | string Enum: "aud" "bbd" "brl" "btc" "cad" "chf" "cny" "dkk" "eth" "eur" "gbp" "hkd" "huf" "ils" "inr" "jpy" "krw" "mxn" "nok" "nzd" "ron" "pln" "aed" "sek" "sgd" "thb" "twd" "usd" "vnd" "zar" Base currency id to retrieve exchange rate history against. |
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "high": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "low": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "first": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "last": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "difference": 0,
- "change": 0,
- "data": [
- 0
]
}Returns the list of documents belonging to the user that has authorized with the application.
[- {
- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Tax Receipts Q1-2021",
- "type": "statement",
- "size": 0,
- "mime": "application/pdf",
- "preview": "string",
- "date": "2019-08-24T14:15:22Z",
- "user": "5742b1f7535cf2baba8fff91",
- "institution": "5742b1f7535cf2baba8fff91",
- "investments": [
- "string"
], - "asset": "5742b1f7535cf2baba8fff91",
- "new": true,
- "url": "string",
- "note": "string"
}
]Add a new document to the authorized user account.
The document object that needs to be added.
| name required | string Name of the document. |
| type required | string Enum: "statement" "trade_confirmation" "tax_receipt" "fund_facts" "investment_policy" "other" The document type. |
| institution | string^[a-f0-9]{24}$ ID of the institution the document belongs to. Mutually exclusive with asset. |
| investments | Array of strings The investment accounts the document belongs to. Could be account numbers in plain strings (e.g. ABCDEFGH01) or Wealthica investment id format (e.g. demo:cash:usd). Mutually exclusive with asset. |
| asset | string^[a-f0-9]{24}$ ID of the asset the document belongs to. Mutually exclusive with institution & investments. |
| date required | string <date-time> The date the document is issued. |
| note | string Some notes for the item set by the user. |
| data required | string <data URI> <= 20971520 characters The document file, in base64-encoded data URI. |
{- "name": "Tax Receipts Q1-2021",
- "type": "statement",
- "institution": "5742b1f7535cf2baba8fff91",
- "investments": [
- "string"
], - "asset": "5742b1f7535cf2baba8fff91",
- "date": "2019-08-24T14:15:22Z",
- "note": "string",
- "data": "string"
}{- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Tax Receipts Q1-2021",
- "type": "statement",
- "size": 0,
- "mime": "application/pdf",
- "preview": "string",
- "date": "2019-08-24T14:15:22Z",
- "user": "5742b1f7535cf2baba8fff91",
- "institution": "5742b1f7535cf2baba8fff91",
- "investments": [
- "string"
], - "asset": "5742b1f7535cf2baba8fff91",
- "new": true,
- "url": "string",
- "note": "string"
}Returns a document that belongs to the authorized user, provided a valid ID. The returned data also includes the document's download URL.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
{- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Tax Receipts Q1-2021",
- "type": "statement",
- "size": 0,
- "mime": "application/pdf",
- "preview": "string",
- "date": "2019-08-24T14:15:22Z",
- "user": "5742b1f7535cf2baba8fff91",
- "institution": "5742b1f7535cf2baba8fff91",
- "investments": [
- "string"
], - "asset": "5742b1f7535cf2baba8fff91",
- "new": true,
- "url": "string",
- "note": "string"
}| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
The document object for update.
| name | string Name of the document. |
| type | string Enum: "statement" "trade_confirmation" "tax_receipt" "fund_facts" "investment_policy" "other" The document type. |
| institution | string^[a-f0-9]{24}$ ID of the institution the document belongs to. Mutually exclusive with asset. |
| investments | Array of strings The investment accounts the document belongs to. Could be account numbers in plain strings (e.g. ABCDEFGH01) or Wealthica investment id format (e.g. demo:cash:usd). Mutually exclusive with asset. |
| asset | string^[a-f0-9]{24}$ ID of the asset the document belongs to. Mutually exclusive with institution & investments. |
| date | string <date-time> The date the document is issued. |
| note | string Some notes for the item set by the user. |
| data | string <data URI> <= 20971520 characters The document file, in base64-encoded data URI. |
{- "name": "Tax Receipts Q1-2021",
- "type": "statement",
- "institution": "5742b1f7535cf2baba8fff91",
- "investments": [
- "string"
], - "asset": "5742b1f7535cf2baba8fff91",
- "date": "2019-08-24T14:15:22Z",
- "note": "string",
- "data": "string"
}{- "_id": "5742b1f7535cf2baba8fff91",
- "name": "Tax Receipts Q1-2021",
- "type": "statement",
- "size": 0,
- "mime": "application/pdf",
- "preview": "string",
- "date": "2019-08-24T14:15:22Z",
- "user": "5742b1f7535cf2baba8fff91",
- "institution": "5742b1f7535cf2baba8fff91",
- "investments": [
- "string"
], - "asset": "5742b1f7535cf2baba8fff91",
- "new": true,
- "url": "string",
- "note": "string"
}Returns the canonical list of sectors and industries with English and French names.
Used for security sector/industry classification (e.g. in the holdings addon).
Structure is nested: each sector has an array of industries; each item has name: { en, fr }.
{- "sectors": [
- {
- "name": {
- "en": "string",
- "fr": "string"
}, - "industries": [
- {
- "name": {
- "en": "string",
- "fr": "string"
}
}
]
}
]
}Returns the daily history entries for investments, assets and liabilities in a specific period of time for the authenticated user.
| from | string <date> The start date of the period to perform the query. This cannot be a date after |
| to | string <date> The end date of the period to perform the query. This cannot be a date before |
| groups | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the groups to be used to filter the query. If provided, groups that aren't specified will not be included in the snapshot. The ID that represents 'no group' is '000000000000000000000000' (24 zeros). If this ID is provided, the API will return resources that belong to no group. |
| institutions | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the institutions to be used to filter the query.
If provided, institutions that aren't specified will not be included in the snapshot.
Defaults to include all if both |
| investments | Array of strings A list of IDs for the investment accounts to be used to filter the query. If provided, investment accounts that aren't specified will not be included in the snapshot. |
| assets | boolean Whether or not to include assets in the response.
Defaults to include assets if both |
| liabilities | boolean Whether or not to include liabilities in the response.
Defaults to include liabilities if both |
| banking | boolean Whether or not to return only banking items in the response.
|
[- {
- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "date": "2019-08-24T14:15:22Z",
- "currency_value": 0,
- "value": 0
}
]Add a new history entry to the authenticated user account.
The history entry object that needs to be added.
| user required | string^[a-f0-9]{24}$ ID of the item's owner user. |
| date required | string <date-time> The date the history entry is recorded. |
| currency_value required | number The value of the investment, asset or liability at the recorded date, in its currency. |
{- "user": "5742b1f7535cf2baba8fff91",
- "date": "2019-08-24T14:15:22Z",
- "currency_value": 0
}{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "date": "2019-08-24T14:15:22Z",
- "currency_value": 0,
- "value": 0
}Returns a history entry that belongs to the authorized user, provided a valid ID.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "date": "2019-08-24T14:15:22Z",
- "currency_value": 0,
- "value": 0
}| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
The history entry object for update.
| currency_value required | number The value of the investment, asset or liability at the recorded date, in its currency. |
{- "currency_value": 0
}{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "date": "2019-08-24T14:15:22Z",
- "currency_value": 0,
- "value": 0
}Returns the portfolio snapshot of the authenticated user for a specific time period.
This is an experimental API that is still being developed and should not be used in production.
| from | string <date> The start date of the period to perform the query. This cannot be a date after |
| to | string <date> The end date of the period to perform the query. This cannot be a date before |
| groups | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the groups to be used to filter the query. If provided, groups that aren't specified will not be included in the snapshot. The ID that represents 'no group' is '000000000000000000000000' (24 zeros). If this ID is provided, the API will return resources that belong to no group. |
| institutions | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the institutions to be used to filter the query.
If provided, institutions that aren't specified will not be included in the snapshot.
Defaults to include all if both |
| assets | boolean Whether or not to include assets in the response.
Defaults to include assets if both |
| liabilities | boolean Whether or not to include liabilities in the response.
Defaults to include liabilities if both |
| banking | boolean Whether or not to return only banking items in the response.
|
{- "history": {
- "total": {
- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "high": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "low": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "first": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "last": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "difference": 0,
- "change": 0,
- "data": [
- 0
]
}, - "property1": {
- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "high": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "low": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "first": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "last": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "difference": 0,
- "change": 0,
- "data": [
- 0
]
}, - "property2": {
- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "high": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "low": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "first": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "last": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "difference": 0,
- "change": 0,
- "data": [
- 0
]
}
}, - "transactions": {
- "fees": 0,
- "summary": {
- "deposit": 0,
- "withdrawal": 0,
- "transfer": 0,
- "transfer_in": 0,
- "transfer_out": 0,
- "switch": 0,
- "interest": 0,
- "dividend": 0,
- "distribution": 0,
- "roc": 0,
- "reinvest": 0,
- "tax": 0,
- "fee": 0,
- "sell": 0,
- "buy": 0,
- "income": 0,
- "split": 0
}
}
}Returns an aggregated list of currently owned positions for the authenticated user.
| groups | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the groups to be used to filter the query. If provided, groups that aren't specified will not be included in the snapshot. The ID that represents 'no group' is '000000000000000000000000' (24 zeros). If this ID is provided, the API will return resources that belong to no group. |
| institutions | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the institutions to be used to filter the query.
If provided, institutions that aren't specified will not be included in the snapshot.
Defaults to include all if both |
| investments | Array of strings A list of IDs for the investment accounts to be used to filter the query. If provided, investment accounts that aren't specified will not be included in the snapshot. |
| assets | boolean Whether or not to include assets in the response.
Defaults to include assets if both |
| liabilities | boolean Whether or not to include liabilities in the response.
Defaults to include liabilities if both |
| banking | boolean Whether or not to return only banking items in the response.
|
[- {
- "_id": "5742b1f7535cf2baba8fff91",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "investments": [
- {
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "currency": "aud",
- "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "manual": true,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
]Create a new position for a completely new security. This endpoint is typically used for manual positions where users want to track holdings of a security that doesn't exist in their automated institutions.
The position will be created with the specified investments, and each investment will be flagged as manual or automated based on the type of institution it belongs to.
The position object to create
| security required | string The ID of the security for this position |
required | Array of objects Array of investments that make up this position |
| class | string Asset class for the position. If provided, takes precedence over |
Array of objects Array of asset classes with weights. Ignored if | |
| category | string Category for the position. If provided, takes precedence over |
Array of objects Array of categories with weights. Ignored if | |
| geo | string Geographic allocation for the position. If provided, takes precedence over |
Array of objects Array of geographic allocations with weights. Ignored if |
{- "security": "507f1f77bcf86cd799439011",
- "investments": [
- {
- "institution": "507f1f77bcf86cd799439012",
- "investment": "550e8400-e29b-41d4-a716-446655440000:margin:usd",
- "quantity": 100,
- "book_value": 5000,
- "market_value": 6000
}
], - "class": "equity",
- "classes": [
- {
- "class": "string",
- "weight": 0
}
], - "category": "Technology",
- "categories": [
- {
- "category": "string",
- "weight": 0
}
], - "geo": "North America",
- "geos": [
- {
- "geo": "string",
- "weight": 0
}
]
}{- "_id": "5742b1f7535cf2baba8fff91",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "investments": [
- {
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "currency": "aud",
- "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "manual": true,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}Update an existing position. This endpoint supports updating position metadata (class, category, geo)
and managing manual investments through the manual_investments parameter.
When manual_investments is provided, it represents the desired state of all manual investments for this position.
The system will:
If the position has no investments left after the update, it will be automatically deleted.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
The position object for update.
| class | string Enum: "equity" "fixed_income" "cash_equivalent" "tangible_asset" "private_equity" "preferred_shares" "crypto" "other" The position class. If provided, takes precedence over |
Array of objects Array of position classes with weights. Ignored if | |
| category | string The position category. If provided, takes precedence over |
| categories | string The position category. If provided, takes precedence over |
Array of objects Array representing the desired state of manual investments for this position. Only manual institutions are allowed. Automated investments are not affected. |
{- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": "string",
- "manual_investments": [
- {
- "institution": "507f1f77bcf86cd799439012",
- "investment": "550e8400-e29b-41d4-a716-446655440000:margin:usd",
- "quantity": 100,
- "book_value": 5000,
- "market_value": 6000
}
]
}{- "_id": "5742b1f7535cf2baba8fff91",
- "class": "equity",
- "classes": [
- {
- "class": "equity",
- "weight": 1
}
], - "category": "string",
- "categories": [
- {
- "category": "string",
- "weight": 1
}
], - "geo": "United States",
- "geos": [
- {
- "geo": "United States",
- "weight": 0.6
}, - {
- "geo": "Europe",
- "weight": 0.4
}
], - "industries": [
- {
- "name": "Technology",
- "weight": 0.7
}, - {
- "name": "Healthcare",
- "weight": 0.3
}
], - "sectors": [
- {
- "name": "Information Technology",
- "weight": 0.6
}, - {
- "name": "Consumer Discretionary",
- "weight": 0.4
}
], - "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "investments": [
- {
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "currency": "aud",
- "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "manual": true,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}
], - "quantity": 0,
- "book_value": 0,
- "market_value": 0,
- "gain_amount": 0,
- "gain_percent": 0,
- "option_details": {
- "expiration_date": "string",
- "strike_price": "string",
- "option_type": "string"
}
}[Work in progress] Returns the performance snapshot of the authenticated user for a specific time period. This API is not finalized and is expected to change in the future.
| from | string <date> The start date of the period to perform the query. This cannot be a date after |
| to | string <date> The end date of the period to perform the query. This cannot be a date before |
| groups | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the groups to be used to filter the query. If provided, groups that aren't specified will not be included in the snapshot. The ID that represents 'no group' is '000000000000000000000000' (24 zeros). If this ID is provided, the API will return resources that belong to no group. |
| institutions | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the institutions to be used to filter the query.
If provided, institutions that aren't specified will not be included in the snapshot.
Defaults to include all if both |
| assets | boolean Whether or not to include assets in the response.
Defaults to include assets if both |
| liabilities | boolean Whether or not to include liabilities in the response.
Defaults to include liabilities if both |
| banking | boolean Whether or not to return only banking items in the response.
|
{- "history": {
- "total": {
- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "high": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "low": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "first": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "last": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "difference": 0,
- "change": 0,
- "data": [
- 0
]
}, - "property1": {
- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "high": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "low": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "first": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "last": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "difference": 0,
- "change": 0,
- "data": [
- 0
]
}, - "property2": {
- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "high": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "low": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "first": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "last": {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}, - "difference": 0,
- "change": 0,
- "data": [
- 0
]
}
}, - "institutions": [
- {
- "_id": "5742b1f7535cf2baba8fff91",
- "roi": 0,
- "gain": 0
}
], - "investments": [
- {
- "first_date": "2019-08-24T14:15:22Z",
- "last_date": "2019-08-24T14:15:22Z",
- "first_currency_value": 0,
- "last_currency_value": 0,
- "roi": 0,
- "gain": 0,
- "currency_gain": 0,
- "_id": "demo:cash:usd",
- "institution": "5742b1f7535cf2baba8fff91",
- "transactions": [
- {
- "date": "2019-08-24T14:15:22Z",
- "currency_amount": 0
}
]
}
], - "assets": [
- {
- "first_date": "2019-08-24T14:15:22Z",
- "last_date": "2019-08-24T14:15:22Z",
- "first_currency_value": 0,
- "last_currency_value": 0,
- "roi": 0,
- "gain": 0,
- "currency_gain": 0,
- "_id": "5742b1f7535cf2baba8fff91"
}
], - "positions": [
- {
- "_id": "5742b1f7535cf2baba8fff91",
- "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "period_gain_percent": 0
}
]
}[- {
- "_id": "5742b1f7535cf2baba8fff91",
- "sharer": {
- "id": "5742b1f7535cf2baba8fff91",
- "name": "string",
- "email": "user@example.com"
}, - "sharee": {
- "id": "5742b1f7535cf2baba8fff91",
- "name": "string",
- "email": "user@example.com"
}
}
]Add a new sharing object. Only sharer can do this.
The sharing object to be added. Only sharee ID is required/accepted
| sharee | string^[a-f0-9]{24}$ The sharee user ID |
{- "sharee": "5742b1f7535cf2baba8fff91"
}{- "_id": "5742b1f7535cf2baba8fff91",
- "sharer": {
- "id": "5742b1f7535cf2baba8fff91",
- "name": "string",
- "email": "user@example.com"
}, - "sharee": {
- "id": "5742b1f7535cf2baba8fff91",
- "name": "string",
- "email": "user@example.com"
}
}Returns list all supported providers (endpoint is not finalized and will be updated soon).
| unpublished | boolean not passed - all providers are displayed; true - only unpublished providers are displayed; false - unpublished providers are hidden. |
| group | string Enum: "core" "vezgo" "yodlee" Allows to filter by providers class. |
| class | string Enum: "api" "oauth" "scraper" Allows to filter by providers class. |
| format | string Enum: "array" "object" Select which format to return.
NOTE due to legacy reasons, this defaults to "object" when no parameter is provided ( |
[- {
- "type": "string",
- "name": "string",
- "url": "string",
- "unpublished": true,
- "expand": true,
- "class": "core",
- "features": {
- "account": 0,
- "positions": 0,
- "transactions": 0,
- "documents": 0,
- "nfts": 0
}, - "note": "string",
- "instructions": {
- "en": "string",
- "fr": "string",
- "pt": "string"
}, - "limitations_description": {
- "en": "string",
- "fr": "string",
- "pt": "string"
}, - "show_limitations": true,
- "beta": true,
- "crypto": true,
- "group": "string",
- "aliases": [
- "string"
], - "oauth": true,
- "scopes": [
- null
], - "clientId": "string",
- "client_id": "string",
- "authorizeUrl": "string",
- "authorize_url": "string",
- "mfa_not_remembered": true,
- "storeAnswer": true,
- "store_answer": true,
- "credentials": "key",
- "key": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "secret": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "wallet": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "network": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "query_id": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "username": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "token": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "password": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "code": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "employer": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "account_number": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}, - "user_id": {
- "pattern": "string",
- "label": {
- "en": "string",
- "fr": "string"
}
}
}
]Returns the list of transactions in a specific period of time that belongs to the user that has authorized with the application.
| from | string <date> The start date of the period to perform the query. This cannot be a date after |
| to | string <date> The end date of the period to perform the query. This cannot be a date before |
| groups | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the groups to be used to filter the query. If provided, groups that aren't specified will not be included in the snapshot. The ID that represents 'no group' is '000000000000000000000000' (24 zeros). If this ID is provided, the API will return resources that belong to no group. |
| institutions | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the institutions to be used to filter the query.
If provided, institutions that aren't specified will not be included in the snapshot.
Defaults to include all if both |
| investments | Array of strings A list of IDs for the investment accounts to be used to filter the query. If provided, investment accounts that aren't specified will not be included in the snapshot. |
| assets | boolean Whether or not to include assets in the response.
Defaults to include assets if both |
| liabilities | boolean Whether or not to include liabilities in the response.
Defaults to include liabilities if both |
| banking | boolean Whether or not to return only banking items in the response.
|
| types | Array of strings Items Enum: "deposit" "withdrawal" "transfer" "transfer_in" "transfer_out" "switch" "interest" "dividend" "distribution" "roc" "reinvest" "drip" "tax" "fee" "sell" "buy" "income" "split" "mtm" "loan" "recall" "name_change" "spinoff" "merger" "unknown" A list of transaction types to be used to filter the query. If provided, transactions that aren't specified will not be included in the response. This list may be modified in the future as we consider the inclusion of more transaction types. |
| deleted | boolean Whether or not to return deleted items.
|
| invalid | boolean Whether or not to return invalid/unknown/incomplete items.
|
| new | boolean Whether or not to return new items.
|
| peek | boolean Whether or not to reset the |
| missing | boolean Whether or not to include missing items.
|
| last | string^[a-f0-9]{24}$ The ID for a last-known transaction. When this is passed in, only transactions newer than (added to Wealthica after) this one will be returned. If an empty value is passed in, the first transactions ever added to Wealthica will be returned. Will trigger pagination mode, which returns transactions ordered ascendingly by the date on which they're added to Wealthica, instead of by the trade date. |
| limit | integer [ 1 .. 1000 ] The number of transactions to return. Will trigger pagination mode. In pagination mode, by default a maximum of 100 transactions are returned if limit is not provided. |
| sort | string Enum: "asc" "desc" Sort transactions direction. ASC is default direction. Sorted by "date" by default and by "_id" in pagination mode if "limit" or "last" param passed. |
| security | boolean If true, return transactions that have either security or symbol set. Transactions with symbol but no security are also returned since they are deemed to have a security assigned even though the security is unknown. If false, return transactions that have neither security or symbol set. |
| skip_date_filter | boolean If true, skip date filter params "from" and "to" if it's set, otherwise, do not use default date filtering. Besides pagination mode forcibly enabled. |
| skip_reset_new_transactions | boolean If true, do not reset "new" flag for transactions. |
| sort_field | string Value: "date" Allows to sort by date in pagination mode. |
[- {
- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "asset": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "date": "2019-08-24T14:15:22Z",
- "processing_date": "2019-08-24T14:15:22Z",
- "settlement_date": "2019-08-24T14:15:22Z",
- "timestamp": "2019-08-24T14:15:22Z",
- "type": "deposit",
- "origin_type": "string",
- "origin_id": "string",
- "category": "string",
- "origin_category": "string",
- "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "symbol": "string",
- "description": "string",
- "note": "string",
- "currency_amount": 0,
- "amount": 0,
- "amounts": [
- {
- "currency": "aud",
- "amount": 0
}
], - "fee": 0,
- "quantity": 0,
- "realized_gain": 0,
- "user_created": true,
- "deleted": true,
- "incomplete": [
- "currency_amount"
], - "missing": true,
- "new": true,
- "history": [
- {
- "date": "2019-08-24T14:15:22Z",
- "paths": [
- "string"
], - "values": { }
}
], - "other_parties": [
- "string"
]
}
]Add a new transaction to the authorized user account.
The transaction object that needs to be added.
| type required | string Enum: "deposit" "withdrawal" "transfer" "transfer_in" "transfer_out" "switch" "interest" "dividend" "distribution" "roc" "reinvest" "drip" "tax" "fee" "sell" "buy" "income" "split" "mtm" "loan" "recall" "name_change" "spinoff" "merger" "unknown" The transaction type. |
| category | string <= 30 characters |
| security | string^[a-f0-9]{24}$ ID of the security involved in the transaction. Either |
| symbol | string^[A-Z0-9.]+$ The ticker symbol for the security involved in the transaction (if any). Either |
| quantity | number The quantity of security involved in the transaction (if any). |
| currency_amount required | number The transaction amount, in transaction currency. |
Array of objects Transaction amount in different currencies. | |
| description | string <= 350 characters The transaction description. |
| note | string <= 400 characters The transaction note. |
| fee | number The transaction fee, in transaction currency. |
| realized_gain | number [Deprecated] The realized gain amount for the sell transaction, in user preferred currency. |
| institution | string^[a-f0-9]{24}$ ID of the institution the transaction belongs to. This is not required if |
| investment | string ID of the investment account the transaction belongs to. This is not required if |
| asset | string^[a-f0-9]{24}$ ID of the asset the transaction belongs to. This is not required if |
| date required | string <date-time> The date the transaction occured (trade date). |
| settlement_date | string <date-time> The settlement date of the transaction. |
{- "type": "deposit",
- "category": "string",
- "security": "5742b1f7535cf2baba8fff91",
- "symbol": "string",
- "quantity": 0,
- "currency_amount": 0,
- "amounts": [
- {
- "currency": "aud",
- "amount": 0
}
], - "description": "string",
- "note": "string",
- "fee": 0,
- "realized_gain": 0,
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "asset": "5742b1f7535cf2baba8fff91",
- "date": "2019-08-24T14:15:22Z",
- "settlement_date": "2019-08-24T14:15:22Z"
}{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "asset": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "date": "2019-08-24T14:15:22Z",
- "processing_date": "2019-08-24T14:15:22Z",
- "settlement_date": "2019-08-24T14:15:22Z",
- "timestamp": "2019-08-24T14:15:22Z",
- "type": "deposit",
- "origin_type": "string",
- "origin_id": "string",
- "category": "string",
- "origin_category": "string",
- "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "symbol": "string",
- "description": "string",
- "note": "string",
- "currency_amount": 0,
- "amount": 0,
- "amounts": [
- {
- "currency": "aud",
- "amount": 0
}
], - "fee": 0,
- "quantity": 0,
- "realized_gain": 0,
- "user_created": true,
- "deleted": true,
- "incomplete": [
- "currency_amount"
], - "missing": true,
- "new": true,
- "history": [
- {
- "date": "2019-08-24T14:15:22Z",
- "paths": [
- "string"
], - "values": { }
}
], - "other_parties": [
- "string"
]
}Returns paginated transactions with metadata for efficient loading. This endpoint is optimized for frontend pagination and provides cursor-based pagination with metadata about total counts and pagination state.
Use limit to control page size (1-1000, default: 200), last cursor from
previous response for next page, and check has_more to determine if more pages exist.
Note that total_count may be null for very large datasets.
| from | string <date> The start date of the period to perform the query. This cannot be a date after |
| to | string <date> The end date of the period to perform the query. This cannot be a date before |
| groups | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the groups to be used to filter the query. If provided, groups that aren't specified will not be included in the snapshot. The ID that represents 'no group' is '000000000000000000000000' (24 zeros). If this ID is provided, the API will return resources that belong to no group. |
| institutions | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the institutions to be used to filter the query.
If provided, institutions that aren't specified will not be included in the snapshot.
Defaults to include all if both |
| investments | Array of strings A list of IDs for the investment accounts to be used to filter the query. If provided, investment accounts that aren't specified will not be included in the snapshot. |
| assets | boolean Whether or not to include assets in the response.
Defaults to include assets if both |
| liabilities | boolean Whether or not to include liabilities in the response.
Defaults to include liabilities if both |
| banking | boolean Whether or not to return only banking items in the response.
|
| types | Array of strings Items Enum: "deposit" "withdrawal" "transfer" "transfer_in" "transfer_out" "switch" "interest" "dividend" "distribution" "roc" "reinvest" "drip" "tax" "fee" "sell" "buy" "income" "split" "mtm" "loan" "recall" "name_change" "spinoff" "merger" "unknown" A list of transaction types to be used to filter the query. If provided, transactions that aren't specified will not be included in the response. This list may be modified in the future as we consider the inclusion of more transaction types. |
| deleted | boolean Whether or not to return deleted items.
|
| invalid | boolean Whether or not to return invalid/unknown/incomplete items.
|
| new | boolean Whether or not to return new items.
|
| peek | boolean Whether or not to reset the |
| missing | boolean Whether or not to include missing items.
|
| last | string^[a-f0-9]{24}$ Cursor for pagination. The ID of the last transaction from the previous page. When provided, returns transactions after this cursor. |
| limit | integer [ 1 .. 1000 ] Default: 200 Number of transactions to return per page. Defaults to 200, maximum 1000. |
| sort | string Default: "desc" Enum: "asc" "desc" Sort direction for transactions. Defaults to desc (newest first). |
| sort_field | string Value: "date" Field to sort by. Currently only supports 'date'. |
| skip_date_filter | boolean If true, skip default date filtering and return transactions for all time. By default, transactions are filtered to the current year only. |
| skip_reset_new_transactions | boolean If true, do not reset the "new" flag on transactions. Useful for read-only operations or when sharing data. |
{- "data": [
- {
- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "asset": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "date": "2019-08-24T14:15:22Z",
- "processing_date": "2019-08-24T14:15:22Z",
- "settlement_date": "2019-08-24T14:15:22Z",
- "timestamp": "2019-08-24T14:15:22Z",
- "type": "deposit",
- "origin_type": "string",
- "origin_id": "string",
- "category": "string",
- "origin_category": "string",
- "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "symbol": "string",
- "description": "string",
- "note": "string",
- "currency_amount": 0,
- "amount": 0,
- "amounts": [
- {
- "currency": "aud",
- "amount": 0
}
], - "fee": 0,
- "quantity": 0,
- "realized_gain": 0,
- "user_created": true,
- "deleted": true,
- "incomplete": [
- "currency_amount"
], - "missing": true,
- "new": true,
- "history": [
- {
- "date": "2019-08-24T14:15:22Z",
- "paths": [
- "string"
], - "values": { }
}
], - "other_parties": [
- "string"
]
}
], - "meta": {
- "pagination": {
- "limit": 200,
- "has_more": true,
- "next_cursor": "507f1f77bcf86cd799439011",
- "total_count": 1250,
- "total_count_exact": true
}
}
}Returns pre-calculated aggregations for transactions including filter counts, type breakdowns with USD/CAD/consolidated totals, and grand totals. This endpoint is optimized for dashboard summaries and filter UI.
| from | string <date> The start date of the period to perform the query. This cannot be a date after |
| to | string <date> The end date of the period to perform the query. This cannot be a date before |
| groups | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the groups to be used to filter the query. If provided, groups that aren't specified will not be included in the snapshot. The ID that represents 'no group' is '000000000000000000000000' (24 zeros). If this ID is provided, the API will return resources that belong to no group. |
| institutions | Array of strings[ items^[a-f0-9]{24}$ ] A list of IDs for the institutions to be used to filter the query.
If provided, institutions that aren't specified will not be included in the snapshot.
Defaults to include all if both |
| investments | Array of strings A list of IDs for the investment accounts to be used to filter the query. If provided, investment accounts that aren't specified will not be included in the snapshot. |
| assets | boolean Whether or not to include assets in the response.
Defaults to include assets if both |
| liabilities | boolean Whether or not to include liabilities in the response.
Defaults to include liabilities if both |
| banking | boolean Whether or not to return only banking items in the response.
|
| types | Array of strings Items Enum: "deposit" "withdrawal" "transfer" "transfer_in" "transfer_out" "switch" "interest" "dividend" "distribution" "roc" "reinvest" "drip" "tax" "fee" "sell" "buy" "income" "split" "mtm" "loan" "recall" "name_change" "spinoff" "merger" "unknown" A list of transaction types to be used to filter the query. If provided, transactions that aren't specified will not be included in the response. This list may be modified in the future as we consider the inclusion of more transaction types. |
| deleted | boolean Whether or not to return deleted items.
|
| invalid | boolean Whether or not to return invalid/unknown/incomplete items.
|
| new | boolean Whether or not to return new items.
|
| missing | boolean Whether or not to include missing items.
|
| include_totals | boolean Default: true Whether to include type breakdown and grand totals in the response. Set to false to only get filter counts for better performance. |
| skip_date_filter | boolean If true, skip default date filtering and return aggregations for all time. By default, aggregations are calculated for the current year only. |
{- "filter_counts": {
- "all": 1250,
- "invalid": 5,
- "modified": 120,
- "added_manually": 45,
- "missing": 2,
- "deleted": 8
}, - "type_breakdown": [
- {
- "type": "deposit",
- "count": 450,
- "totals": {
- "usd": 25000.5,
- "cad": 32000.75,
- "consolidated": 57000.25
}
}
], - "grand_totals": {
- "count": 1250,
- "usd": 125000.5,
- "cad": 180000.75,
- "consolidated": 305000.25
}
}Returns a transaction that belongs to the authorized user, provided a valid ID.
| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "asset": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "date": "2019-08-24T14:15:22Z",
- "processing_date": "2019-08-24T14:15:22Z",
- "settlement_date": "2019-08-24T14:15:22Z",
- "timestamp": "2019-08-24T14:15:22Z",
- "type": "deposit",
- "origin_type": "string",
- "origin_id": "string",
- "category": "string",
- "origin_category": "string",
- "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "symbol": "string",
- "description": "string",
- "note": "string",
- "currency_amount": 0,
- "amount": 0,
- "amounts": [
- {
- "currency": "aud",
- "amount": 0
}
], - "fee": 0,
- "quantity": 0,
- "realized_gain": 0,
- "user_created": true,
- "deleted": true,
- "incomplete": [
- "currency_amount"
], - "missing": true,
- "new": true,
- "history": [
- {
- "date": "2019-08-24T14:15:22Z",
- "paths": [
- "string"
], - "values": { }
}
], - "other_parties": [
- "string"
]
}| id required | string^[a-f0-9]{24}$ ID of the item that needs to be fetched/updated/deleted. |
The transaction object for update.
| type required | string Enum: "deposit" "withdrawal" "transfer" "transfer_in" "transfer_out" "switch" "interest" "dividend" "distribution" "roc" "reinvest" "drip" "tax" "fee" "sell" "buy" "income" "split" "mtm" "loan" "recall" "name_change" "spinoff" "merger" "unknown" The transaction type. |
| category | string <= 30 characters |
| security | string^[a-f0-9]{24}$ ID of the security involved in the transaction. Either |
| symbol | string^[A-Z0-9.]+$ The ticker symbol for the security involved in the transaction (if any). Either |
| quantity | number The quantity of security involved in the transaction (if any). |
| currency_amount required | number The transaction amount, in transaction currency. |
Array of objects Transaction amount in different currencies. | |
| description | string <= 350 characters The transaction description. |
| note | string <= 400 characters The transaction note. |
| fee | number The transaction fee, in transaction currency. |
| realized_gain | number [Deprecated] The realized gain amount for the sell transaction, in user preferred currency. |
| deleted | boolean Whether or not the item is marked as deleted. Deleted items are not taken into account in calculations. |
{- "type": "deposit",
- "category": "string",
- "security": "5742b1f7535cf2baba8fff91",
- "symbol": "string",
- "quantity": 0,
- "currency_amount": 0,
- "amounts": [
- {
- "currency": "aud",
- "amount": 0
}
], - "description": "string",
- "note": "string",
- "fee": 0,
- "realized_gain": 0,
- "deleted": true
}{- "_id": "5742b1f7535cf2baba8fff91",
- "user": "5742b1f7535cf2baba8fff91",
- "institution": "5742b1f7535cf2baba8fff91",
- "investment": "demo:cash:usd",
- "asset": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "date": "2019-08-24T14:15:22Z",
- "processing_date": "2019-08-24T14:15:22Z",
- "settlement_date": "2019-08-24T14:15:22Z",
- "timestamp": "2019-08-24T14:15:22Z",
- "type": "deposit",
- "origin_type": "string",
- "origin_id": "string",
- "category": "string",
- "origin_category": "string",
- "security": {
- "_id": "5742b1f7535cf2baba8fff91",
- "currency": "aud",
- "symbol": "string",
- "type": "equity",
- "name": "string",
- "aliases": [
- "string"
], - "last_price": 0,
- "last_date": "2019-08-24T14:15:22Z",
- "high_price": 0,
- "high_date": "2019-08-24T14:15:22Z",
- "low_price": 0,
- "low_date": "2019-08-24T14:15:22Z",
- "cusip": "string"
}, - "symbol": "string",
- "description": "string",
- "note": "string",
- "currency_amount": 0,
- "amount": 0,
- "amounts": [
- {
- "currency": "aud",
- "amount": 0
}
], - "fee": 0,
- "quantity": 0,
- "realized_gain": 0,
- "user_created": true,
- "deleted": true,
- "incomplete": [
- "currency_amount"
], - "missing": true,
- "new": true,
- "history": [
- {
- "date": "2019-08-24T14:15:22Z",
- "paths": [
- "string"
], - "values": { }
}
], - "other_parties": [
- "string"
]
}Resolves multiple {country}:{symbol} pairs at once and returns enriched
security records, including the exchange. Equities only — options and funds
frequently lack a symbol and/or exchange.
exchange is the raw enriched value (mixed short codes and full names, e.g.
NASDAQ, Toronto Stock Exchange); exchange_code is the normalized short
code (e.g. NASDAQ, TO, VN), or null when unknown.
Pairs that could not be resolved are returned in the missing list.
| symbols required | string Comma-separated list of |
| types | string Value: "equities" Security types filter. Only |
{- "securities": [
- {
- "requested": "string",
- "symbol": "string",
- "currency": "string",
- "type": "string",
- "name": "string",
- "exchange": "string",
- "exchange_code": "string",
- "sector": "string",
- "industry": "string"
}
], - "missing": [
- "string"
]
}This endpoint is used to update user preferences.
The preferences object for update. Attributes not present in this object will not be updated.
| private_mode required | boolean Whether or not to enable Private Mode on login. |
| hide_switch_user_modal required | boolean Whether or not to hide Switch User modal on login. |
| hide_welcome_modal required | boolean Whether or not to hide Welcome modal on login. |
| hide_sidebar | boolean Whether or not to hide Sidebar. |
| show_deleted_investments required | boolean Whether or not to show deleted investments/assets/liabilities on Dashboard. |
required | object Notification preferences |
| currency required | string Enum: "aud" "bbd" "brl" "btc" "cad" "chf" "cny" "dkk" "eth" "eur" "gbp" "hkd" "huf" "ils" "inr" "jpy" "krw" "mxn" "nok" "nzd" "ron" "pln" "aed" "sek" "sgd" "thb" "twd" "usd" "vnd" "zar" User's preferred currency. This is the currency of all values returned in other API requests. |
| timezone | string User's timezone, in which history data for assets & liabilities are recorded. |
| banner | string <data URI> <= 102400 characters The user's banner image, in base64-encoded data URI. In an UPDATE request, sending a |
| hide_first_time_connect_notice | boolean Default: false Whether or not to hide Connect Notice modal on connection flow. |
| date_range_filter_start | string <date-time> The start date of the date range filter. By default, the date range filter starts from 10 years ago. This allows setting a custom starting date, for users who have transactions dated back further than that. |
{- "private_mode": true,
- "hide_switch_user_modal": true,
- "hide_welcome_modal": true,
- "hide_sidebar": true,
- "show_deleted_investments": true,
- "notifications": {
- "suspicious_login": true,
- "sync_failed": true,
- "cash_drag": true,
- "cash_drag_threshold": 0,
- "new_transactions": true,
- "new_transactions_frequency": "daily"
}, - "currency": "aud",
- "timezone": "string",
- "banner": "string",
- "hide_first_time_connect_notice": false,
- "date_range_filter_start": "2019-08-24T14:15:22Z"
}{- "private_mode": true,
- "hide_switch_user_modal": true,
- "hide_welcome_modal": true,
- "hide_sidebar": true,
- "show_deleted_investments": true,
- "notifications": {
- "suspicious_login": true,
- "sync_failed": true,
- "cash_drag": true,
- "cash_drag_threshold": 0,
- "new_transactions": true,
- "new_transactions_frequency": "daily"
}, - "currency": "aud",
- "timezone": "string",
- "banner": "string",
- "hide_first_time_connect_notice": false,
- "date_range_filter_start": "2019-08-24T14:15:22Z"
}