Import Tool (beta)
Importing data is helpful when onboarding a new client portfolio or managing any data that's not available via a portfolio data feed.
You can programmatically automate all data import workflows with the Import Tool API. All existing and future import types are supported.
The Import Tool API is in closed beta
The ability to use the Import Tool API described herein is available only to a pre-selected group of Addepar clients within the Addepar Beta Program. All beta features described herein are provided “as is'” and “as available” with no warranty or guarantee of functionality and may be modified or removed at any time by Addepar.
Base route | /v1/imports /v1/import_results |
Endpoints | POST /v1/imports GET /v1/imports/:id /v1/import_results/:id |
Produces | JSON |
Pagination | No |
Application permissions required | "API Access: Create, edit, and delete" “Import Tool (In-app): Access to in-app tool” "Portfolio Access" determines the entities that are accessible. Additional required permissions will vary based on import type. Details can be found in the Help Center. |
OAuth scopes | None |
Resource overview
The payload must follow the same CSV format as when importing data in the Addepar app. For detailed information on each import type and their required columns, learn more in the Help Center.
Status
Status | Description |
---|---|
UPLOADING | The data is being uploaded. |
PROCESSING | The data is in the queue. |
VALIDATING | The uploaded data is being checked for errors and inconsistencies. |
IMPORTING | The validated data is being imported. |
ERRORS_READY_FOR_REVIEW | Errors were found; review is required. |
WARNINGS_READY_FOR_REVIEW | Warnings were detected; review is recommended but not mandatory. |
ERRORS_AND_WARNINGS _READY_FOR_REVIEW | Both errors and warnings were found; review is required. |
DRY_RUN_SUCCESSFUL | Dry run has been completed and no errors were found. |
IMPORT_SUCCESSFUL | The data imported successfully. |
VALIDATION_FAILED | Validation was unsuccessful due to unknown error. |
IMPORT_FAILED | Import was unsuccessful due to unknown error. |
Required parameters
There are 3 parameters that you must specify with the POST
call.
import_type
is_dry_run
ignore_warnings
1. Import type parameter
All possible import type routes are listed below. They are case-sensitive and must be in all caps.
/v1/imports?import_type=IMPORT_TYPE
Import type | Description |
---|---|
ATTRIBUTES | Import static, multi-value and historical attribute values onto entities and positions. More details here. |
BENCHMARKS | Import custom benchmarks and benchmark returns. More details here. |
BENCHMARK_ASSOCIATIONS | Update benchmark associations. More details here. |
BILLABLE_PORTFOLIOS | Import billable portfolios. More details here. |
CONTACTS | Create or update contacts. More details here. |
COST_BASIS | Add or update original and/or adjusted tax lot values for share-based assets. More details here. |
ESTIMATED_RETURNS | Import estimated returns to existing value-based assets. More details here. |
GROUPS | Create groups, add group members, or delete group members. More details here. |
HISTORICAL_PRICES | Import historical prices for share-based assets. More details here. |
MANAGE_INVESTMENTS | Create new investments and/or update attributes on existing investments. More details here. |
MANAGE_OWNERSHIP | Create new ownership entities and set up ownership structure. More details here. |
MANUAL_ADJUSTMENTS | Apply fee adjustments to bills. More details here. |
CONSTITUENTS | Import ETF constituent data. More details here. |
POSITION_VALUATIONS | Add or update valuations of value-based assets, as well as snapshots for share-based assets. More details here. |
SUMMARY_DATA | Add or update historical performance data. More details here. |
TARGET_ALLOCATIONS | Create target allocation models and create, edit, and/or assign target allocations to entities or groups. More details here. |
TOTAL_OUTSTANDING_SHARES | Add total outstanding shares for existing share based managed funds. More details here. |
TRANSACTIONS | Create and/or update transactions. More details here. |
VALUES_AND_FLOWS | Link a segment of historical performance data with online data. More details here. |
2. Dry run parameter
/v1/imports?is_dry_run=true
When set to true, the parameter allows you to simulate the import and review the results, errors, and warnings without making any actual changes to Addepar.
3. Ignore warnings parameter
/v1/imports?ignore_warnings=true
This parameter determines how warnings are handled during the import process. When set to true, the import will proceed even if warnings are encountered. Errors cannot be ignored and must be addressed before import can be complete.
Import data
Imports data for one import type.
Provide the payload in plain text format.
POST /v1/imports
Example:
POST https://examplefirm.addepar.com/api/v1/imports?import_type=ATTRIBUTES&is_dry_run=false&ignore_warnings=true
Owned Id, Asset Class
123, Equity
{
"data": {
"id": "86e53d26-d69b-4590-aa61-c94cf7755d57",
"type": "imports",
"attributes": {
"status": "UPLOADING"
},
"links": {
"self": "/v1/imports/"
}
},
"included": []
}
Response codes
200 OK
: Success. Returns json with import id.400 Bad Request
: Incorrect Formatting.400 Bad Request
: Missing or incorrectly formatted parameters.400 Bad Request
: Payload size exceeded 20 MB.
Get import status
Check an import's status by its ID.
GET /v1/imports/:id
GET https://examplefirm.addepar.com/api/v1/imports/86e53d26-d69b-4590-aa61-c94cf7755d57
{
"data": {
"id": "86e53d26-d69b-4590-aa61-c94cf7755d57",
"type": "imports",
"attributes": {
"status": "IMPORT_SUCCESSFUL"
},
"links": {
"self": "/v1/imports/"
}
},
"included": []
}
Response codes
200 OK
: Success.404 Not Found
: Import ID not found.404 Not Found
: User does not have permission to view import information.
Get import results
See information about an import's results with digests, warnings, and errors.
digests
: A summary of everything that will be created or updated. Digests are only shown when there are no errors.warnings
: A list of warnings encountered during the validation process broken down by row, column, or table based on the type of warning.errors
: A list of errors encountered during the validation process broken down by row, column, or table based on the type of error.
GET /v1/import_results/:id
GET https://examplefirm.addepar.com/api/v1/import_results/86e53d26-d69b-4590-aa61-c94cf7755d57
{
"data": {
"id": "86e53d26-d69b-4590-aa61-c94cf7755d57",
"type": "import_results",
"attributes": {
"digests": [
"1 attribute will be created"
]
},
"links": {
"self": "/v1/import_results/86e53d26-d69b-4590-aa61-c94cf7755d57"
}
},
"included": []
}
{
"data": {
"id": "86e53d26-d69b-4590-aa61-c94cf7755d57",
"type": "import_results",
"attributes": {
"warnings": [
{
"message": "attribute value: column not recognized and will be ignored.",
"type": "COLUMN",
"affected_members": [
"Column D"
]
},
{
"message": "attribute name: column not recognized and will be ignored.",
"type": "COLUMN",
"affected_members": [
"Column C"
]
}
],
"errors": [
{
"message": "Missing required field: Date.",
"type": "COLUMN",
"affected_members": [
"Column null"
]
},
{
"message": "Missing required field: Type.",
"type": "COLUMN",
"affected_members": [
"Column null"
]
}
]
},
"links": {
"self": "/v1/import_results/86e53d26-d69b-4590-aa61-c94cf7755d57"
}
},
"included": []
}
Response codes
200 OK
: Success.404 Not Found
: Import ID not found.404 Not Found
: User does not have permission to view import information.
Updated 2 days ago