Document

This API is for the Document resource of the Advisor API on the wealth.com platform. It allows connected systems to programmatically manage Vault documents within top accounts.


GETadvisor-api.wealth.com/v2/top-accounts/{wid}/documents/{vault_id}

Get Document

The Get Document call expects a wid for the top account and a vault_id for the document to be passed as part of the URL. The wid is unique to each top account and the vault_id is unique to each document.

Request

GET
advisor-api.wealth.com/v2/top-accounts/{wid}/documents/{vault_id}
  curl --location --request GET 'https://advisor-api.wealth.com/v2/top-accounts/786bb91c-35ec-49bb-bc28-1d2930d7db6a/documents/53ac20e4-8287-4bd7-b7e7-8f09b056325f' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer xxxxxxxxxxxxx'

Get Document Response Object

  • Name
    wid
    Type
    string (Max 64)
    Description

    Wealth.com unique identifier for the top account.

  • Name
    vault_id
    Type
    string (Max 64)
    Description

    Wealth.com unique identifier for the document.

  • Name
    name
    Type
    string (Max 200)
    Description

    The file name of the document.

  • Name
    extension
    Type
    string (Max 32)
    Description

    The file extension of the document. See File Upload Requirements for supported extensions.

  • Name
    description
    Type
    string (Max 2000), optional
    Description

    The description for the document (if provided).

  • Name
    category
    Type
    string enum
    Description

    The category for the document. See Category Sub-Category Type Values for enum values.

  • Name
    sub_category
    Type
    string enum
    Description

    The sub-category for the document. See Category Sub-Category Type Values for enum values.

  • Name
    type
    Type
    string enum, optional
    Description

    The type for the document (if provided). See Category Sub-Category Type Values for enum values.

  • Name
    tags
    Type
    string array, optional
    Description

    An array of tags associated with the document.

  • Name
    creation_date
    Type
    ISO 8601 date-time
    Description

    The UTC timestamp when the document was created within the Wealth.com Vault.

  • Name
    modification_date
    Type
    ISO 8601 date-time
    Description

    The UTC timestamp when the document was last modified within the Wealth.com Vault.

  • Name
    file_status
    Type
    string enum
    Description

    The upload status of the file to the Vault. Possible values are:

    'NoFileUploaded'
    'Uploaded'
    
  • Name
    download_uri
    Type
    string, optional
    Description

    A secure presigned URI to download the file (if available).

Response

{
   "wid": "786bb91c-35ec-49bb-bc28-1d2930d7db6a",
   "vault_id": "53ac20e4-8287-4bd7-b7e7-8f09b056325f",
   "name": "john-doe-slat",
   "extension": "pdf",
   "description": "John Doe SLAT",
   "category": "estate_planning",
   "sub_category": "irrevocable_trusts",
   "type": "slat",
   "tags": ["trust", "estate-planning", "slat"],
   "creation_date": "2024-02-01T07:23:12Z",
   "modification_date": "2024-02-05T02:11:48Z",
   "file_status": "Uploaded",
   "download_uri": "https://vault.files.wealth.com/download/..."
}

Error Responses

Status CodeError MessageDescription
400Bad RequestMissing required parameters (wid or vault_id)
403Access DeniedInvalid authorization token or insufficient permissions
404Container not foundThe specified top account (wid) does not exist
404Vault doesn't existThe specified document (vault_id) does not exist
404Vault file not readyThe document exists but file is not ready for download
500Internal Server ErrorUnexpected server error

GETadvisor-api.wealth.com/v2/top-accounts/{wid}/documents/

List All Documents

The List All Documents call expects a wid for the top account to be passed as part of the URL. It returns a paginated array of documents associated with the specified top account.

Query Parameters

  • Name
    limit
    Type
    integer, optional
    Description

    The number of documents to retrieve. Must be between 1 and 1000. Defaults to 100 if not specified.

  • Name
    nextToken
    Type
    string, optional
    Description

    Token for pagination to retrieve the next set of results. Pass the vault_id of last document returned in previous request.

Request

GET
advisor-api.wealth.com/v2/top-accounts/{wid}/documents/
  curl --location --request GET 'https://advisor-api.wealth.com/v2/top-accounts/786bb91c-35ec-49bb-bc28-1d2930d7db6a/documents/?limit=10&nextToken=aeab8c80-a20a-4738-8671-30aee94ca41d' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer xxxxxxxxxxxxx'

List All Documents Response Object

  • Name
    documents
    Type
    array
    Description

    An array of document objects. Each object has the same structure as the Get Document response object (except file_status field - for that you'll need to call Get Document individually).

  • Name
    pagination
    Type
    object
    Description

    Pagination metadata for the response.

  • Name
    pagination.total_count
    Type
    integer
    Description

    The total number of documents available.

Response

{
   "documents": [
       {
           "wid": "786bb91c-35ec-49bb-bc28-1d2930d7db6a",
           "vault_id": "67bd31f5-9398-5ce8-cd39-2e4041e8db7b",
           "name": "jane-doe-trust",
           "extension": "pdf",
           "description": "Jane Doe Trust",
           "category": "estate_planning",
           "sub_category": "revocable_trusts_and_supporting_documents",
           "tags": ["trust", "revocable"],
           "creation_date": "2024-02-03T14:15:22Z",
           "modification_date": "2024-02-07T09:33:15Z"
       },
       {
           "wid": "786bb91c-35ec-49bb-bc28-1d2930d7db6a",
           "vault_id": "53ac20e4-8287-4bd7-b7e7-8f09b056325f",
           "name": "john-doe-slat",
           "extension": "pdf",
           "description": "John Doe SLAT",
           "category": "estate_planning",
           "sub_category": "irrevocable_trusts",
           "type": "slat",
           "tags": ["trust", "estate-planning", "slat"],
           "creation_date": "2024-02-01T07:23:12Z",
           "modification_date": "2024-02-05T02:11:48Z"
       }
   ],
   "pagination": {
       "total_count": 25
   }
}

Error Responses

Status CodeError MessageDescription
400Bad RequestMissing required parameter (wid)
400Limit can't be more than 1000Invalid pagination parameter
403Access DeniedInvalid authorization token or insufficient permissions
404Container not foundThe specified top account (wid) does not exist
500Internal Server ErrorUnexpected server error

POSTadvisor-api.wealth.com/v2/top-accounts/{wid}/documents/

Upload Document

The Upload Document Request Object model contains all the information about your client's document. This endpoint expects a wid for the top account to be passed as part of the URL.
upload_uri is url to which document content should be posted. See Using Upload URI for detailed upload instructions.

Upload Document Request Object

  • Name
    name
    Type
    string (Max 200)
    Description

    The file name of the document to be uploaded.

  • Name
    extension
    Type
    string (Max 32)
    Description

    The file extension of the document to be uploaded. See File Upload Requirements for supported extensions.

  • Name
    description
    Type
    string (Max 2000), optional
    Description

    The description for the document.

  • Name
    category
    Type
    string enum
    Description

    The category for the document. See Category Sub-Category Type Values for enum values.

  • Name
    sub_category
    Type
    string enum
    Description

    The sub-category for the document. See Category Sub-Category Type Values for enum values.

  • Name
    type
    Type
    string enum, optional
    Description

    The type for the document. See Category Sub-Category Type Values for enum values.

  • Name
    tags
    Type
    string array, optional
    Description

    An array of tags to associate with the document.

Request

POST
advisor-api.wealth.com/v2/top-accounts/{wid}/documents/
  curl --location 'https://advisor-api.wealth.com/v2/top-accounts/786bb91c-35ec-49bb-bc28-1d2930d7db6a/documents/' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer xxxxxxxxxxxxx' \
    --data-raw '{
        "name": "john-doe-slat",
        "extension": ".pdf",
        "description": "John Doe SLAT",
        "category": "estate_planning",
        "sub_category": "irrevocable_trusts",
        "type": "slat",
        "tags": ["trust", "estate-planning", "slat"]
    }'

Upload Document Response Object

  • Name
    wid
    Type
    string (Max 64)
    Description

    Wealth.com unique identifier for the top account.

  • Name
    vault_id
    Type
    string (Max 64)
    Description

    Wealth.com unique identifier for the document.

  • Name
    upload_uri
    Type
    string (Max 2000)
    Description

    A secure link to upload the file. See Using Upload URI for detailed upload instructions.

Response

{
   "wid": "786bb91c-35ec-49bb-bc28-1d2930d7db6a",
   "vault_id": "53ac20e4-8287-4bd7-b7e7-8f09b056325f",
   "upload_uri": "https://vault.files.wealth.com/upload/..."
}

Error Responses

Status CodeError MessageDescription
400Bad RequestMissing required parameters (name, extension, category, or sub_category)
400Invalid categoryThe specified category is not valid
400Invalid sub-categoryThe specified sub-category is not valid
403Access DeniedInvalid authorization token or insufficient permissions
404Container not foundThe specified top account (wid) does not exist
500Internal Server ErrorUnexpected server error

PATCHadvisor-api.wealth.com/v2/top-accounts/{wid}/documents/{vault_id}

Update Document

The Update Document call allows you to update document fields. It also returns upload_uri which can be used to replace document content. This endpoint expects a wid for the top account and a vault_id for the document to be passed as part of the URL.
upload_uri is url to which document content can be posted. See Using Upload URI for detailed upload instructions.

Update Document Request Object

  • Name
    name
    Type
    string (Max 200), optional
    Description

    The file name of the document.

  • Name
    extension
    Type
    string (Max 32), optional
    Description

    The file extension of the document. See File Upload Requirements for supported extensions.

  • Name
    description
    Type
    string (Max 2000), optional
    Description

    The description for the document.

  • Name
    category
    Type
    string enum, optional
    Description

    The category for the document. See Category Sub-Category Type Values for enum values.

  • Name
    sub_category
    Type
    string enum, optional
    Description

    The sub-category for the document. See Category Sub-Category Type Values for enum values.

  • Name
    type
    Type
    string enum, optional
    Description

    The type for the document. See Category Sub-Category Type Values for enum values.

  • Name
    tags
    Type
    string array, optional
    Description

    An array of tags to associate with the document.

Request

PATCH
advisor-api.wealth.com/v2/top-accounts/{wid}/documents/{vault_id}
curl --location 'https://advisor-api.wealth.com/v2/top-accounts/786bb91c-35ec-49bb-bc28-1d2930d7db6a/documents/53ac20e4-8287-4bd7-b7e7-8f09b056325f' -X PATCH \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer xxxxxxxxxxxxx' \
  --data-raw '{
      "name": "john-doe-slat-revised",
      "description": "John Doe SLAT Revised",
      "tags": ["trust", "estate-planning", "slat", "revised"]
    }'

Update Document Response Object

  • Name
    wid
    Type
    string (Max 64)
    Description

    Wealth.com unique identifier for the top account.

  • Name
    vault_id
    Type
    string (Max 64)
    Description

    Wealth.com unique identifier for the document.

  • Name
    name
    Type
    string (Max 200)
    Description

    The file name of the document.

  • Name
    extension
    Type
    string (Max 32)
    Description

    The file extension of the document. See File Upload Requirements for supported extensions.

  • Name
    description
    Type
    string (Max 2000), optional
    Description

    The description for the document (if provided).

  • Name
    category
    Type
    string enum
    Description

    The category for the document. See Category Sub-Category Type Values for enum values.

  • Name
    sub_category
    Type
    string enum
    Description

    The sub-category for the document. See Category Sub-Category Type Values for enum values.

  • Name
    type
    Type
    string enum, optional
    Description

    The type for the document (if provided). See Category Sub-Category Type Values for enum values.

  • Name
    tags
    Type
    string array, optional
    Description

    An array of tags associated with the document.

  • Name
    creation_date
    Type
    ISO 8601 date-time
    Description

    The UTC timestamp when the document was created within the Wealth.com Vault.

  • Name
    modification_date
    Type
    ISO 8601 date-time
    Description

    The UTC timestamp when the document was last modified within the Wealth.com Vault.

  • Name
    upload_uri
    Type
    string (Max 2000)
    Description

    A secure link to upload a new file. See Using Upload URI for detailed upload instructions.

Error Responses

Status CodeError MessageDescription
400Bad RequestMissing required parameters (wid or vault_id)
400Invalid categoryThe specified category is not valid
400Invalid sub-categoryThe specified sub-category is not valid
403Access DeniedInvalid authorization token or insufficient permissions
404Container not foundThe specified top account (wid) does not exist
404Vault doesn't existThe specified document (vault_id) does not exist
500Internal Server ErrorUnexpected server error

DELETEadvisor-api.wealth.com/v2/top-accounts/{wid}/documents/{vault_id}

Delete Document

The Delete Document call permanently removes a document from the Vault. This endpoint expects a wid for the top account and a vault_id for the document to be passed as part of the URL.

Request

DELETE
advisor-api.wealth.com/v2/top-accounts/{wid}/documents/{vault_id}
  curl --location --request DELETE 'https://advisor-api.wealth.com/v2/top-accounts/786bb91c-35ec-49bb-bc28-1d2930d7db6a/documents/53ac20e4-8287-4bd7-b7e7-8f09b056325f' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer xxxxxxxxxxxxx'

Delete Document Response Object

  • Name
    message
    Type
    string, optional
    Description

    Error message (if any).

Response

{
   "message": "Vault doesn't exist"
}

Error Responses

Status CodeError MessageDescription
400Bad RequestMissing required parameters (wid or vault_id)
403Access DeniedInvalid authorization token or insufficient permissions
404Container not foundThe specified top account (wid) does not exist
404Vault doesn't existThe specified document (vault_id) does not exist
500Internal Server ErrorUnexpected server error
PUTvault.files.wealth.com/upload/...

Using Upload URI

After creating a document using the Upload Document endpoint or updating a document using the Update Document endpoint, you'll receive an upload_uri in the response. This URI is used to actually upload the file content to the Vault.

Upload Process

  1. Create/Update Document: First, create or update a document using the respective API endpoints to get an upload_uri
  2. Upload File Content: Use the upload_uri with a PUT request to upload the actual file content
  3. Verify Upload: Check the document's file_status using the Get Document endpoint to confirm successful upload

File Upload Requirements

  • Maximum File Size: 5 GB (recommended under 100 MB for UI performance)
  • Supported File Extensions: .bmp, .png, .jpg, .jpeg, .pdf, .doc, .docx, .xls, .xlsx, .csv, .tsv, .ppt, .pptx, .key
  • Content-Type Header: Required for PUT uploads - must match the file extension

Content-Type Mappings

File ExtensionContent-Type
.pdfapplication/pdf
.docapplication/msword
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
.xlsapplication/vnd.ms-excel
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.pptapplication/vnd.ms-powerpoint
.pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentation
.keyapplication/vnd.apple.keynote
.csvtext/csv
.tsvtext/tab-separated-values
.pngimage/png
.jpgimage/jpeg
.jpegimage/jpeg
.bmpimage/bmp

Upload Example

File Upload

PUT
vault.files.wealth.com/upload/...
  curl --location --request PUT 'https://vault.files.wealth.com/upload/v2_e55995bc-1227-4f10-9f78-b737fba5287d/39405749-021d-4d7e-a1a1-ababb505a5e5?Expires=1757605771&Signature=hLT8xbANPOYo6k0GhTe76izvSLLFBLMqdayK0D1dNhhouFGwgTywfqwXQ7thTtGRcQCX~35aIGhH0ZO1Zs7O2SIRN~2MTuv6-dyc5v-~P3xgGZUbfo~hW8tbhKZp-F5bDz2dTezkyT-PDZZjfsW5qM~0NbsJn3Ag0w0mhFPFVPlh1LeAJbKl9tit8uA9ZtxagfGvYihr4P3CvcVqKTw51ZrrjMuISnBRWMkBjKx7uox7nyyXXeMPot8dhoPRt4pWLTJKIj3DRDWRdeIcjyCu8irdI4v4uUUn-xJM7Ts5v0bBz3xd2Nv05u9OMp6-3S2ssvVhkhF~9XTMgA00nlW29A__&Key-Pair-Id=K19U4LCWXRW7C3' \
    --header 'Content-Type: application/pdf' \
    --data-binary '@/Users/user/Downloads/sample.pdf'

Important Notes

  • The upload_uri is a presigned URL with expiration time of 5 minutes - use it promptly after receiving it
  • Always include the correct Content-Type header matching your file extension
  • After successful upload, the document's file_status will change to Uploaded

Category Sub-Category Type Values

CategorySub-CategoryType
personal_informationbirth_certificate
personal_informationdriver_license
personal_informationpassport
personal_informationvisa
personal_informationtsa_pre_global_entry
personal_informationairline_frequent_flyers
personal_informationname_change_orders
personal_informationmedical_identification_cards
personal_informationmilitary_discharge_papers
personal_informationpersonal_information_other
familymarriage_certificate
familymarital_agreement
familydivorce_decree
familydomestic_partnership_certificate
familyadoption_decree
familydeath_certificate
familyfamily_other
estate_planninglast_will_and_testament
estate_planningrevocable_trusts_and_supporting_documents
estate_planningrevocable_trusts_and_supporting_documentspour_over_will
estate_planningirrevocable_trusts
estate_planningirrevocable_trustsdynasty_trust
estate_planningirrevocable_trustsslat
estate_planningirrevocable_trustsgrat
estate_planningirrevocable_trustsilit
estate_planningirrevocable_trustscrut
estate_planningirrevocable_trustsqprt
estate_planningirrevocable_trustsother
estate_planningliving_will
estate_planningdurable_power_of_attorney
estate_planningnomination_of_guardianship
estate_planningletters_of_intent
estate_planningpersonal_inventory_list
estate_planningbeneficiary_designations
estate_planninginsurance_policies
estate_planningcharitable_giving
estate_planningestate_planning_other
estate_planningpresentation_materials
estate_planningllc_operating_agreement
assetsreal_estate_leases_deeds
assetsinvestments
assetsstorage_units
assetssafe_deposit_boxes
assetsgun_permits
assetsassets_other
taxes1099
taxestax_return_1040
taxesw2
taxesk1s
taxesform_8949_crypto
taxesform_709_gift_tax_returns
taxesform_1098s_debt
taxestaxes_other
businessemployment_contract
businessoptions_agreements
businessndas
businesspartnership_agreements
businesscorporations
businessemployee_benefits
businessperformance_reviews
businessbusiness_other
miscellaneousuncategorized
miscellaneousmiscellaneous_other