Document

This API is for the Document resource of the Advisor API on the wealth.com platform. It allows connected systems to programmatically manage documents for a client.

If your API user has access to multiple advisors, include advisor_id and team_id as query parameters on document requests. These client-scoped paths also accept the client's external_id in place of wid — see Addressing a client.

All client document operations accept M2M bearer tokens. See M2M Authentication.


GETadvisor-api.wealth.com/v1/clients/{wid}/documents
GETadvisor-api.wealth.com/v1/clients/by-external-id/{external_id}/documents

List Documents

The List Documents call expects a client wid (or a caller-defined external_id) in the URL. It returns a paginated array of documents for that client. You can optionally filter results by passing a tags query parameter containing a comma-separated list of tag names.

Query Parameters

  • Name
    advisor_id
    Type
    string, optional
    Description

    Required when your API user can access multiple advisors.

  • Name
    team_id
    Type
    string, optional
    Description

    Required when your API user can access multiple advisor teams.

  • Name
    limit
    Type
    integer, optional
    Description

    The number of documents to retrieve. Must be between 1 and 1000.

  • Name
    nextToken
    Type
    string, optional
    Description

    Token for pagination to retrieve the next set of results.

  • Name
    tags
    Type
    string, optional
    Description

    Optional comma-separated list of tag names to filter by, for example tags=current,funded.

Request

GET
advisor-api.wealth.com/v1/clients/{wid}/documents
  curl --location --request GET 'https://advisor-api.wealth.com/v1/clients/2d6fb3ee-1617-4ee2-b402-6dd0e4449c85/documents?limit=10&tags=current,funded' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic xxxxxxxxxxxxx'

HTTP Status Codes

  • Name
    200
    Type
    Description
    Success - Documents retrieved successfully
  • Name
    400
    Type
    Description
    Bad Request - Missing or invalid request parameters
  • Name
    403
    Type
    Description
    Forbidden - Access denied
  • Name
    404
    Type
    Description
    Not Found - Client not found
  • Name
    422
    Type
    Description
    Unprocessable Entity - Request could not be processed
  • Name
    500
    Type
    Description
    Internal Server Error - Unexpected server-side failure

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": ["funded"],
           "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": ["current", "reviewed"],
           "creation_date": "2024-02-01T07:23:12Z",
           "modification_date": "2024-02-05T02:11:48Z"
       }
   ],
   "pagination": {
       "total_count": 25
   }
}

POSTadvisor-api.wealth.com/v1/clients/{wid}/documents
POSTadvisor-api.wealth.com/v1/clients/by-external-id/{external_id}/documents

Upload Document

The Upload Document call expects a client wid (or a caller-defined external_id) in the URL and a JSON request body describing the document metadata. A successful response includes an upload_uri; use it to upload the file content as described in Using Upload URI.

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 tag names to associate with the document. See Supported Tag Values for the built-in values documented by this API. If any supplied tag is not valid for the current account context, the request returns 400 Invalid tags: ....

Request

POST
advisor-api.wealth.com/v1/clients/{wid}/documents
  curl --location 'https://advisor-api.wealth.com/v1/clients/2d6fb3ee-1617-4ee2-b402-6dd0e4449c85/documents' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic xxxxxxxxxxxxx' \
    --data-raw '{
        "name": "john-doe-slat",
        "extension": ".pdf",
        "description": "John Doe SLAT",
        "category": "estate_planning",
        "sub_category": "irrevocable_trusts",
        "type": "slat",
        "tags": ["current", "reviewed"]
    }'

HTTP Status Codes

  • Name
    200
    Type
    Description
    Success - Document metadata created and upload URI returned
  • Name
    400
    Type
    Description
    Bad Request - Missing required fields or invalid document metadata
  • Name
    403
    Type
    Description
    Forbidden - Access denied
  • Name
    405
    Type
    Description
    Method Not Allowed - Unsupported method for this path
  • Name
    422
    Type
    Description
    Unprocessable Entity - Request could not be processed
  • Name
    500
    Type
    Description
    Internal Server Error - Unexpected server-side failure

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/..."
}

GETadvisor-api.wealth.com/v1/clients/{wid}/documents/{vault_id}
GETadvisor-api.wealth.com/v1/clients/by-external-id/{external_id}/documents/{vault_id}

Get Document

The Get Document call expects a client wid (or a caller-defined external_id) and document vault_id in the URL.

Request

GET
advisor-api.wealth.com/v1/clients/{wid}/documents/{vault_id}
  curl --location --request GET 'https://advisor-api.wealth.com/v1/clients/2d6fb3ee-1617-4ee2-b402-6dd0e4449c85/documents/53ac20e4-8287-4bd7-b7e7-8f09b056325f' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic xxxxxxxxxxxxx'

HTTP Status Codes

  • Name
    200
    Type
    Description
    Success - Document retrieved successfully
  • Name
    400
    Type
    Description
    Bad Request - Missing required path parameters
  • Name
    403
    Type
    Description
    Forbidden - Access denied
  • Name
    404
    Type
    Description
    Not Found - Client or document not found
  • Name
    405
    Type
    Description
    Method Not Allowed - Unsupported method for this path
  • Name
    500
    Type
    Description
    Internal Server Error - Unexpected server-side failure

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 tag names associated with the document. See Supported Tag Values for the built-in values documented by this API.

  • 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": ["current", "reviewed"],
   "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/..."
}

PATCHadvisor-api.wealth.com/v1/clients/{wid}/documents/{vault_id}
PATCHadvisor-api.wealth.com/v1/clients/by-external-id/{external_id}/documents/{vault_id}

Update Document

The Update Document call expects a client wid (or a caller-defined external_id) and document vault_id in the URL. The request body may contain any supported mutable document metadata fields.

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 tag names to associate with the document. See Supported Tag Values for the built-in values documented by this API. If any supplied tag is not valid for the current account context, the request returns 400 Invalid tags: ....

Request

PATCH
advisor-api.wealth.com/v1/clients/{wid}/documents/{vault_id}
  curl --location 'https://advisor-api.wealth.com/v1/clients/2d6fb3ee-1617-4ee2-b402-6dd0e4449c85/documents/53ac20e4-8287-4bd7-b7e7-8f09b056325f' -X PATCH \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic xxxxxxxxxxxxx' \
    --data-raw '{
        "name": "john-doe-slat-revised",
        "description": "John Doe SLAT Revised",
        "tags": ["current", "ready-to-publish", "reviewed"]
    }'

HTTP Status Codes

  • Name
    200
    Type
    Description
    Success - Document updated successfully
  • Name
    400
    Type
    Description
    Bad Request - Missing required path parameters or invalid document metadata
  • Name
    403
    Type
    Description
    Forbidden - Access denied
  • Name
    404
    Type
    Description
    Not Found - Client or document not found
  • Name
    405
    Type
    Description
    Method Not Allowed - Unsupported method for this path
  • Name
    422
    Type
    Description
    Unprocessable Entity - Request could not be processed
  • Name
    500
    Type
    Description
    Internal Server Error - Unexpected server-side failure

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 tag names associated with the document. See Supported Tag Values for the built-in values documented by this API.

  • 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.


DELETEadvisor-api.wealth.com/v1/clients/{wid}/documents/{vault_id}
DELETEadvisor-api.wealth.com/v1/clients/by-external-id/{external_id}/documents/{vault_id}

Delete Document

The Delete Document call expects a client wid (or a caller-defined external_id) and document vault_id in the URL.

Request

DELETE
advisor-api.wealth.com/v1/clients/{wid}/documents/{vault_id}
  curl --location --request DELETE 'https://advisor-api.wealth.com/v1/clients/2d6fb3ee-1617-4ee2-b402-6dd0e4449c85/documents/53ac20e4-8287-4bd7-b7e7-8f09b056325f' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic xxxxxxxxxxxxx'

HTTP Status Codes

  • Name
    200
    Type
    Description
    Success - Document deleted successfully
  • Name
    400
    Type
    Description
    Bad Request - Missing required path parameters
  • Name
    403
    Type
    Description
    Forbidden - Access denied
  • Name
    404
    Type
    Description
    Not Found - Client or document not found
  • Name
    405
    Type
    Description
    Method Not Allowed - Unsupported method for this path
  • Name
    500
    Type
    Description
    Internal Server Error - Unexpected server-side failure

Delete Document Response Object

  • Name
    message
    Type
    string, optional
    Description

    Error message (if any).

Response

{
   "message": "Vault doesn't exist"
}
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

Supported Tag Values

The following built-in tag names are supported across teams and top accounts. Your organization may also have additional team-specific custom tags in Vault, but the values below are the standard tags documented by this API.

Tag NameDescription
currentCurrent
duplicateDuplicate
family-office-reportFamily Office Report
fundedFunded
needs-reviewNeeds Review
not-signedNot Signed
ready-to-publishReady to Publish
reviewedReviewed
snapshot-reportSnapshot Report
supersededSuperseded
unfundedUnfunded

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—