Canoe Intelligence Documents API

The Documents API from Canoe Intelligence — 10 operation(s) for documents.

Operations 24

GET Get Document Data #
GET Get Document Types #
GET Get Document Tags #
GET Get Document Allocation Tags #
POST Delete Multiple Documents #
GET Get A Single Document #
DELETE Delete A Single Document #
POST Bulk Set Document Metadata #
PUT Set Document Metadata #
GET Download Documents #
POST Upload A Single Document #
PUT Edit Document Attributes #
GET /v1/documents/data Get Document Data #
GET /v1/documents/types Get Document Types #
GET /v1/documents/tags Get Document Tags #
GET /v1/documents/allocation-tags Get Document Allocation Tags #
POST /v1/documents/delete-documents Delete Multiple Documents #
GET /v1/documents/{id} Get A Single Document #
DELETE /v1/documents/{id} Delete A Single Document #
POST /v1/documents/metadata Bulk Set Document Metadata #
PUT /v1/documents/{id}/metadata Set Document Metadata #
GET /v1/documents Download Documents #
POST /v1/documents Upload A Single Document #
PATCH /v1/documents/{allocationId}/allocation-tags Update Allocation Tags #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canoe-intelligence-documents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canoe-intelligence-documents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canoe Intelligence Documents API
  version: '1.0'
  description: 'Operations tagged Documents across 3 of this provider''s published API definitions: canoe-intelligence-api-docs-v1-original.yaml, canoe-intelligence-api-openapi-original.json, canoe-intelligence-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.canoesoftware.com
  description: Production API
tags:
- name: Documents
  description: ''
paths:
  Get Document Data:
    get:
      tags:
      - Documents
      summary: null
      description: "/v1/documents/data\n\nFetch documents' extracted data and metadata.\n\nBy default, Canoe's server sends back the full representation of each document object after processing requests.\nFor faster performance, you can use optional parameters to retrieve a subset of documents.\n\n<span name=\"doc-alert-info\">\nThis endpoint offers optional pagination. \nPagination supports the return of large results and is highly recommended for all use cases. \nUnpaginated calls will be depreciated in future versions of the Canoe API.\n<br><br>\nWhen using pagination, the response will contain headers defining the <code>total</code> number of results, \nas well as the <code>first</code>, <code>next</code>, <code>prev</code>, and <code>last</code> page responses for your result set. \nTo enable pagination pass a header parameter of X-API-VERSION with a value of 2022-09-19.\n</span>\n"
      operationId: GetDocuments
      parameters:
      - name: page
        in: query
        description: This page number. For example, if you specify "2" you will see all documents on page 2. By default, this is set to 1. <u>This parameter is only valid if the X-API-VERSION header is set to 2022-09-19.</u> Example:- 1
        required: false
        schema:
          type: integer
        examples:
          page 1:
            value: 1
          page 5:
            value: 5
      - name: limit
        in: query
        description: The number of documents for each page. The maximum number of documents limit is 100. <u>This parameter is only valid if the X-API-VERSION header is set to 2022-09-19.</u> Example:- 50
        required: false
        schema:
          type: integer
        examples:
          limit:
            value: 50
      - name: fields
        in: query
        description: The fields you need in the partial response. The value of the fields parameter MUST be a comma-separated (U+002C COMMA, ",") list that refers to the name(s) of the fields to be returned. If no fields are sent, the full validate_data field of the document is returned
        required: false
        schema:
          type: string
        examples:
          fields:
            value: name,validated_data
      - name: allocation_id
        in: query
        description: The IDs of the allocations in Canoe.
        required: false
        schema:
          type: string
        examples:
          allocation_id single:
            value: allocation_1
          allocation_id multiple:
            value: allocation_1,allocation_2
      - name: document_id
        in: query
        description: The IDs of the documents in Canoe.
        required: false
        schema:
          type: string
        examples:
          document_id single:
            value: document_1
          document_id multiple:
            value: document_1,document_2
      - name: client_document_id
        in: query
        description: The custom document IDs.
        required: false
        schema:
          type: string
        examples:
          client_document_id:
            value: client_document_id
      - name: fund_id
        in: query
        description: The IDs of funds in Canoe. To retrieve these, use the <code>v1/funds</code> <a href="#operations-Funds-GetFunds"><u>endpoint</u></a>.
        required: false
        schema:
          type: string
        examples:
          fund_id single:
            value: fund_1
          fund_id multiple:
            value: fund_1,fund_2
      - name: account_id
        in: query
        description: The IDs of accounts in Canoe. To retrieve these, use the <code>v1/organizations?type=account</code> <a href="#operations-Organizations-Organizations"><u>endpoint</u></a>.
        required: false
        schema:
          type: string
        examples:
          account_id single:
            value: account_1
          account_id multiple:
            value: account_1,account_2
      - name: investment_entity_id
        in: query
        description: The IDs of investment entities in Canoe. To retrieve these, use the <code>v1/organizations?type=entity</code> <a href="#operations-Organizations-Organizations"><u>endpoint</u></a>.
        required: false
        schema:
          type: string
        examples:
          investment_entity_id single:
            value: entity_1
          investment_entity_id multiple:
            value: entity_1,entity_2
      - name: not_fund_id
        in: query
        description: Exclude documents with the specified Fund IDs. To retrieve Fund IDs, use the <code>v1/organizations?type=fund</code> <a href="#operations-Organizations-Organizations"><u>endpoint</u></a>.
        required: false
        schema:
          type: string
        examples:
          not_fund_id single:
            value: fund_1
          not_fund_id multiple:
            value: fund_1,fund_2
      - name: not_investment_entity_id
        in: query
        description: Exclude documents with the specified investment entity IDs. To retrieve these, use the <code>v1/organizations?type=entity</code> <a href="#operations-Organizations-Organizations"><u>endpoint</u></a>.
        required: false
        schema:
          type: string
        examples:
          not_investment_entity_id single:
            value: entity_1
          not_investment_entity_id multiple:
            value: entity_1,entity_2
      - name: not_account_id
        in: query
        description: Exclude documents with the specified Account IDs. To retrieve Account IDs, use the <code>v1/accounts</code> <a href="#operations-Accounts-GetAccounts"><u>endpoint</u></a>.
        required: false
        schema:
          type: string
        examples:
          not_account_id single:
            value: account_1
          not_account_id multiple:
            value: account_1,account_2
      - name: document_type
        in: query
        description: The document types. To retrieve these, use the <code>v1/documents/types</code> <a href="#operations-Documents-GetDocumentsType"><u>endpoint</u></a>.
        required: false
        schema:
          type: string
        examples:
          document_type single:
            value: Account Statement
          document_type multiple:
            value: Account Statement,Capital Call Notice
      - name: fund_sponsor
        in: query
        description: The Fund Sponsors. The entered Fund Sponsors must be an exact match, although all query parameters are case-insensitive.
        required: false
        schema:
          type: string
        examples:
          fund_sponsor multiple:
            value: fund_sponsor_1,fund_sponsor_2
          fund_sponsor single:
            value: fund_sponsor_1
      - name: data_date_start
        in: query
        description: All documents returned will have data date <strong>greater than or equal to</strong> the given data_date_start. This will be in EST (Eastern Standard Time).
        required: false
        schema:
          type: string
        examples:
          data_date_start:
            value: '2019-03-30'
      - name: data_date_end
        in: query
        description: All documents returned will have data date <strong>less than or equal to</strong> the given data_date_end. This will be in EST (Eastern Standard Time).
        required: false
        schema:
          type: string
        examples:
          data_date_end:
            value: '2019-03-30'
      - name: document_status
        in: query
        description: This is the validation status determined by Canoe. For example, Complete means that Canoe has successfully categorized, recognized, extracted, and validated data from the document.<br><br>Our current statuses are:<br><br><li>Complete</li><br><li>Potential Discrepancy</li><br><li>Duplicate</li><br><li>Password Protected</li><br><li>Configuration Required</li><br><li>Unsupported Formats</li><br><li>Anomaly Detected</li><br><li>Awaiting Confirmation</li><br><li>Storage Only</li><br><br>A misspelled status will return an empty array.
        required: false
        schema:
          type: string
        examples:
          document_status:
            value: Complete,Storage Only
      - name: document_source
        in: query
        description: The method of document ingestion. These sources are:<br><br><li>Upload Engine</li><br><li>Email</li><br><li>Intralinks</li><br><li>API</li>
        required: false
        schema:
          type: string
        examples:
          document_source:
            value: Email,Upload Engine
      - name: document_tag_id
        in: query
        description: The IDs of tags in Canoe. To retrieve these, use the <code>v1/documents/tags</code> <a href="#get-document-tags"><u>endpoint</u></a>.
        required: false
        schema:
          type: string
        examples:
          document_tag_id:
            value: tag_1,tag_2
      - name: file_upload_time_start
        in: query
        description: All documents downloaded will have an uploaded timestamp <strong>greater than or equal to</strong> the given file_upload_time_start. Unless otherwise specified, the timestamp will be in EST (Eastern Standard Time). We suggest using the <a target="_blank" href="https://www.iso.org/iso-8601-date-and-time-format.html"><u>ISO 8601 format</u></a> for the parameter. For example, '2019-09-18T00:00:00-07:00' represents the time in Pacific Daylight Time; this will be automatically converted to EST. In this case, the user will receive the documents uploaded on or after 2019-09-19 at 03:00:00.
        required: false
        schema:
          type: string
        examples:
          file_upload_time_start:
            value: '2019-03-30T04:00:00Z'
      - name: file_upload_time_end
        in: query
        description: All documents downloaded will have an uploaded timestamp <strong>less than or equal to</strong> the given file_upload_time_end. Unless otherwise specified, the timestamp will be in EST (Eastern Standard Time). We suggest using the <a target="_blank" href="https://www.iso.org/iso-8601-date-and-time-format.html"><u>ISO 8601 format</u></a> for the parameter. For example, '2019-09-18T00:00:00-07:00' represents the time in Pacific Daylight Time; this will be automatically converted to EST. In this case, the user will receive the documents uploaded on or after 2019-09-19 at 03:00:00.
        required: false
        schema:
          type: string
        examples:
          file_upload_time_end:
            value: '2019-03-31T04:00:00Z'
      - name: account_group
        in: query
        description: The Account Group the documents belong to.
        required: false
        schema:
          type: string
        examples:
          account_group:
            value: 'Geography: North America,Geography: Europe'
      - name: last_modified_time_start
        in: query
        description: All documents returned will have a last updated timestamp <strong>greater than or equal to</strong> the given last_modified_time_start. Unless otherwise specified, the timestamp will be in EST (Eastern Standard Time). We suggest using the <a target="_blank" href="https://www.iso.org/iso-8601-date-and-time-format.html"><u>ISO 8601 format</u></a> for the parameter. For example, '2019-09-18T00:00:00-07:00' represents the time in Pacific Daylight Time; this will be automatically converted to EST. In this case, the user will receive the documents updated on or after 2019-09-19 at 03:00:00.
        required: false
        schema:
          type: string
        examples:
          last_modified_time_start:
            value: '2019-03-30T04:00:00Z'
      - name: last_modified_time_end
        in: query
        description: All documents returned will have a last updated timestamp <strong>less than or equal to</strong> the given last_modified_time_end. Unless otherwise specified, the timestamp will be in EST (Eastern Standard Time). We suggest using the <a target="_blank" href="https://www.iso.org/iso-8601-date-and-time-format.html"><u>ISO 8601 format</u></a> for the parameter. For example, '2019-09-18T00:00:00-07:00' represents the time in Pacific Daylight Time; this will be automatically converted to EST. In this case, the user will receive the documents updated on or after 2019-09-19 at 03:00:00.
        required: false
        schema:
          type: string
        examples:
          last_modified_time_end:
            value: '2019-07-31T04:00:00Z'
      - name: is_locked
        in: query
        description: The is_locked status of the document in Canoe. Accepted values are either true or false. The default is false.
        required: false
        schema:
          type: string
        examples:
          is_locked:
            value: false
      - name: ready_for_extract
        in: query
        description: The extraction status of the document in Canoe. Accepted values are either true or false. The default is false.
        required: false
        schema:
          type: string
        examples:
          ready_for_extract:
            value: false
      - name: sum_values
        in: query
        description: Whether to return the sums of multi-data point fields in validated_data. Accepted values are either true or false. If it is set to false, multi-data points are returned as a list of values. The default is false.
        required: false
        schema:
          type: string
        examples:
          sum_values:
            value: false
      - name: approval_status
        in: query
        description: The approval status of the documents in Canoe. If searching for multiple statuses, they should be separated by commas. Valid statuses are:<br><br><li>Approved</li><br><li>Flagged</li><br><li>Ignored</li><br><li>Pending</li>
        required: false
        schema:
          type: string
        examples:
          approval_status:
            value: Approved
      - name: approved_by
        in: query
        description: The User ID of the approver of the documents in Canoe.
        required: false
        schema:
          type: string
        examples:
          approved_by:
            value: user_1,user_2
      - name: approval_date_start
        in: query
        description: All documents returned will have an approval date <strong>greater than or equal to</strong> the given approval_date_start. This will be in EST (Eastern Standard Time).
        required: false
        schema:
          type: string
        examples:
          approval_date_start:
            value: '2019-03-30'
      - name: approval_date_end
        in: query
        description: All documents returned will have an approval date <strong>less than or equal to</strong> the given approval_date_end. This will be in EST (Eastern Standard Time).
        required: false
        schema:
          type: string
        examples:
          approval_date_end:
            value: '2019-03-31'
      - name: assignee
        in: query
        description: The User ID of the assignee for the document in Canoe. If searching for multiple assignees, they should be separated by commas. Example:- user_1,user_2
        required: false
        schema:
          type: string
        examples:
          approved_by:
            value: user_1,user_2
      - name: uploaded_by
        in: query
        description: The full name of the user who uploaded the document. If searching for multiple users, they should be separated by commas. Use 'Canoe Connect System User' to filter for documents uploaded via Canoe Connect. Example:- John Smith,John Doe
        required: false
        schema:
          type: string
        examples:
          uploaded_by:
            value: John Smith,John Doe
      - name: not_document_tag_id
        in: query
        description: The IDs of tags in Canoe. To retrieve these, use the <code>v1/documents/tags</code> <a href="#get-document-tags">endpoint</a>. This will search for documents that have NOT been tagged with a specified tag.
        required: false
        schema:
          type: string
        examples:
          approved_by:
            value: tag_1,tag_2
      - name: category
        in: query
        description: The category of the document. Our current categories are:<br><br><li>Capital Activity</li><br><li>Email & System Messages</li><br><li>Financial Statements & Performance</li><br><li>Investment & Transactional</li><br><li>Investor Administration & Communication</li><br><li>Legal, Compliance & Regulatory</li><br><li>Other</li><br><li>Tax</li><br><br>Multiple categories can be passed as a comma-delimited list (e.g. <code>Capital Activity,Tax</code>).
        required: false
        schema:
          type: string
        examples:
          category:
            value: Capital Activity, Email
      - name: downstream_ids
        in: query
        description: Filter documents by downstream system identifiers. Accepts an array of key-value pairs where the key represents the downstream system name and the value represents the identifier in that system. Multiple pairs can be provided to filter by multiple downstream systems.<u>This parameter is only valid if the X-API-VERSION header is set to 2022-09-19 and pagination is provided.</u>
        required: false
        schema:
          type: string
        examples:
          downstream_ids:
            value: downstream_ids[downstream_identifier_name]=value1,value2
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X GET \\\n          -G \"https://api.canoesoftware.com/v1/documents/data?fields=name%2Cvalidated_data&document_id=document_1%2Cdocument_2&client_document_id=custom_id_16%2Ccustom_id_17&fund_id=fund_1%2Cfund_2&account_id=account_1%2Caccount_2&investment_entity_id=entity_1%2Centity_2&document_type=Account+Statement%2CCapital+Call+Notice&fund_sponsor=fund_sponsor_1%2Cfund_sponsor_2&data_date_start=2019-03-30&data_date_end=2019-07-31&document_status=Complete%2CStorage+Only&document_source=Email%2CUpload+Engine&document_tag_id=tag_1%2Ctag_2&file_upload_time_start=2019-03-30T04%3A00%3A00Z&file_upload_time_end=2019-07-31T04%3A00%3A00Z&account_group=Geography%3A+North+America%2CGeography%3A+Europe&last_modified_time_start=2019-03-30T04%3A00%3A00Z&last_modified_time_end=2019-07-31T04%3A00%3A00Z&is_locked=false&ready_for_extract=false&sum_values=false&approval_status=Approved%2CIgnored%2CFlagged&approved_by=user_1%2Cuser_2&approval_date_start=2019-03-30&approval_date_end=2019-07-31&category=Capital%20Activity&downstream_ids=%5B%7B%22key%22%3A%22system1%22%2C%22value%22%3A%22id123%22%7D%5D\" \\\n          -H \"Authorization: Bearer {token}\" \\\n          -H \"Accept: application/json\" \\\n          -H \"X-Requested-With: XMLHttpRequest\"\n"
                summary: Bash
              Javascript:
                description: "-\n      const url = new URL(\n          \"https://api.canoesoftware.com/v1/documents/data\"\n      );\n\n      let params = {\n          \"page\": \"1\",\n          \"limit\": \"100\",\n          \"fields\": \"name,validated_data\",\n          \"document_id\": \"document_1,document_2\",\n          \"client_document_id\": \"custom_id_16,custom_id_17\",\n          \"fund_id\": \"fund_1,fund_2\",\n          \"account_id\": \"account_1,account_2\",\n          \"investment_entity_id\": \"entity_1,entity_2\",\n          \"document_type\": \"Account Statement,Capital Call Notice\",\n          \"fund_sponsor\": \"fund_sponsor_1,fund_sponsor_2\",\n          \"data_date_start\": \"2019-03-30\",\n          \"data_date_end\": \"2019-07-31\",\n          \"document_status\": \"Complete,Storage Only\",\n          \"document_source\": \"Email,Upload Engine\",\n          \"document_tag_id\": \"tag_1,tag_2\",\n          \"file_upload_time_start\": \"2019-03-30T04:00:00Z\",\n          \"file_upload_time_end\": \"2019-07-31T04:00:00Z\",\n          \"account_group\": \"Geography: North America,Geography: Europe\",\n          \"last_modified_time_start\": \"2019-03-30T04:00:00Z\",\n          \"last_modified_time_end\": \"2019-07-31T04:00:00Z\",\n          \"is_locked\": \"false\",\n          \"ready_for_extract\": \"false\",\n          \"sum_values\": \"false\",\n          \"approval_status\": \"Approved\",\n          \"approved_by\": \"user_1,user_2\",\n          \"approval_date_start\": \"2019-03-30\",\n          \"approval_date_end\": \"2019-07-31\",\n          \"assignee\": \"user_1,user_2\",\n          \"uploaded_by\": \"John Smith,John Doe\",\n          \"not_document_tag_id\": \"tag_1,tag_2\",\n          \"category\": \"Capital Activity\"\n      };\n      Object.keys(params)\n          .forEach(key => url.searchParams.append(key, params[key]));\n\n      let headers = {\n          \"Authorization\": \"Bearer {token}\",\n          \"Accept\": \"application/json\",\n          \"X-Requested-With\": \"XMLHttpRequest\",\n          \"Content-Type\": \"application/json\",\n      };\n\n      fetch(url, {\n          method: \"GET\",\n          headers: headers,\n      })\n          .then(response => response.json())\n          .then(json => console.log(json));\n"
                summary: JavaScript
              PHP:
                description: "-\n      $client = new \\GuzzleHttp\\Client();\n      $response = $client->get(\n          'https://api.canoesoftware.com/v1/documents/data',\n          [\n              'headers' => [\n                  'Authorization' => 'Bearer {token}',\n                  'Accept' => 'application/json',\n                  'X-Requested-With' => 'XMLHttpRequest',\n              ],\n              'query' => [\n                  'page'=> '1',\n                  'limit'=> '100',\n                  'fields' => 'name,validated_data',\n                  'document_id' => 'document_1,document_2',\n                  'client_document_id' => 'custom_id_16,custom_id_17',\n                  'fund_id' => 'fund_1,fund_2',\n                  'account_id' => 'account_1,account_2',\n                  'investment_entity_id' => 'entity_1,entity_2',\n                  'document_type' => 'Account Statement,Capital Call Notice',\n                  'fund_sponsor' => 'fund_sponsor_1,fund_sponsor_2',\n                  'data_date_start' => '2019-03-30',\n                  'data_date_end' => '2019-07-31',\n                  'document_status' => 'Complete,Storage Only',\n                  'document_source' => 'Email,Upload Engine',\n                  'document_tag_id' => 'tag_1,tag_2',\n                  'file_upload_time_start' => '2019-03-30T04:00:00Z',\n                  'file_upload_time_end' => '2019-07-31T04:00:00Z',\n                  'account_group' => 'Geography: North America,Geography: Europe',\n                  'last_modified_time_start' => '2019-03-30T04:00:00Z',\n                  'last_modified_time_end' => '2019-07-31T04:00:00Z',\n                  'is_locked' => 'false',\n                  'ready_for_extract' => 'false',\n                  'sum_values' => 'false',\n                  'approval_status' => 'Approved,Pending',\n                  'approved_by' => 'user_1,user_2',\n                  'approval_date_start' => '2019-03-30',\n                  'approval_date_end' => '2019-07-31',\n                  'assignee' => 'user_1,user_2',\n                  'uploaded_by' => 'John Smith,John Doe',\n                  'not_document_tag_id' => 'tag_1,tag_2',\n                  'category'=> 'Capital Activity'\n              ],\n          ]\n      );\n      $body = $response->getBody();\n      print_r(json_decode((string) $body));\n"
                summary: PHP
              Python:
                description: "-\n      import requests\n      import json\n\n      url = 'https://api.canoesoftware.com/v1/documents/data'\n      params = {\n        'page': '1',\n        'limit': '100',\n        'fields': 'name,validated_data',\n        'document_id': 'document_1,document_2',\n        'client_document_id': 'custom_id_16,custom_id_17',\n        'fund_id': 'fund_1,fund_2',\n        'account_id': 'account_1,account_2',\n        'investment_entity_id': 'entity_1,entity_2',\n        'document_type': 'Account Statement,Capital Call Notice',\n        'fund_sponsor': 'fund_sponsor_1,fund_sponsor_2',\n        'data_date_start': '2019-03-30',\n        'data_date_end': '2019-07-31',\n        'document_status': 'Complete,Storage Only',\n        'document_source': 'Email,Upload Engine',\n        'document_tag_id': 'tag_1,tag_2',\n        'file_upload_time_start': '2019-03-30T04:00:00Z',\n        'file_upload_time_end': '2019-07-31T04:00:00Z',\n        'account_group': 'Geography: North America,Geography: Europe',\n        'last_modified_time_start': '2019-03-30T04:00:00Z',\n        'last_modified_time_end': '2019-07-31T04:00:00Z',\n        'is_locked': 'false',\n        'ready_for_extract': 'false',\n        'sum_values': 'false',\n        'approval_status': 'Approved',\n        'approved_by': 'user_1,user_2',\n        'approval_date_start': '2019-03-30',\n        'approval_date_end': '2019-07-31'\n        'assignee': 'user_1,user_2',\n        'uploaded_by': 'John Smith,John Doe',\n        'not_document_tag_id': 'tag_1,tag_2',\n        'category': 'Capital Activity'\n      }\n      headers = {\n        'Authorization': 'Bearer {token}',\n        'Accept': 'application/json',\n        'X-Requested-With': 'XMLHttpRequest'\n      }\n      response = requests.request('GET', url, headers=headers, params=params)\n      response.json()\n"
                summary: Python
              CSharp:
                description: "-\n      using RestSharp;\n\n      var client = new RestClient(\"https://api.canoesoftware.com/\");\n      var request = new RestRequest(\"v1/documents/data\", Method.Get);\n      request.AddParameter(\"Authorization\", string.Format(\"Bearer {token}\"), ParameterType.HttpHeader);\n      request.AddHeader(\"Accept\", \"application/json\");\n      request.AddHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n      request.AddQueryParameter(\"page\", \"1\");\n      request.AddQueryParameter(\"limit\", \"100\");\n      request.AddQueryParameter(\"fields\", \"name,validated_data\");\n      request.AddQueryParameter(\"document_id\", \"document_1,document_2\");\n      request.AddQueryParameter(\"client_document_id\", \"custom_id_16,custom_id_17\");\n      request.AddQueryParameter(\"fund_id\", \"fund_1,fund_2\");\n      request.AddQueryParameter(\"account_id\", \"account_1,account_2\");\n      request.AddQueryParameter(\"investment_entity_id\", \"entity_1,entity_2\");\n      request.AddQueryParameter(\"document_type\", \"Account Statement,Capital Call Notice\");\n      request.AddQueryParameter(\"fund_sponsor\", \"fund_sponsor_1,fund_sponsor_2\");\n      request.AddQueryParameter(\"data_date_start\", \"2019-03-30\");\n      request.AddQueryParameter(\"data_date_end\", \"2019-07-31\");\n      request.AddQueryParameter(\"document_status\", \"Complete,Storage Only\");\n      request.AddQueryParameter(\"document_source\", \"Email,Upload Engine\");\n      request.AddQueryParameter(\"document_tag_id\", \"tag_1,tag_2\");\n      request.AddQueryParameter(\"file_upload_time_start\", \"2019-03-30T04:00:00Z\");\n      request.AddQueryParameter(\"file_upload_time_end\", \"2019-07-31T04:00:00Z\");\n      request.AddQueryParameter(\"account_group\", \"Geography: North America,Geography: Europe\");\n      request.AddQueryParameter(\"last_modified_time_start\", \"2019-03-30T04:00:00Z\");\n      request.AddQueryParameter(\"last_modified_time_end\", \"2019-07-31T04:00:00Z\");\n      request.AddQueryParameter(\"is_locked\", \"false\");\n      request.AddQueryParameter(\"ready_for_extract\", \"false\");\n      request.AddQueryParameter(\"sum_values\", \"false\");\n      request.AddQueryParameter(\"approval_status\", \"Approved\");\n      request.AddQueryParameter(\"approved_by\", \"user_1,user_2\");\n      request.AddQueryParameter(\"approval_date_start\", \"2019-03-30\");\n      request.AddQueryParameter(\"approval_date_end\", \"2019-07-31\");\n      request.AddQueryParameter(\"assignee\", \"user_1,user_2\");\n      request.AddQueryParameter(\"uploaded_by\", \"John Smith,John Doe\");\n      request.AddQueryParameter(\"not_document_tag_id\", \"tag_1,tag_2\");\n      request.AddQueryParameter(\"category\", \"Capital Activity\");\n      var response = client.Execute(request);\n      Console.WriteLine(response.Content);\n"
                summary: CSharp
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Document'
        '403':
          description: No access to the document.
  Get Document Types:
    get:
      tags:
      - Documents
      summary: null
      description: '/v1/documents/types


        Fetch all available document types.


        Document types are dynamically managed and organized by category. The response includes document type information including ID, key, level (''client_document'' or ''general_document''), category, and display name.

        '
      operationId: GetDocumentsType
      parameters: null
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X GET \\\n          -G \"https://api.canoesoftware.com/v1/documents/types\" \\\n          -H \"Authorization: Bearer {token}\" \\\n          -H \"Accept: application/json\" \\\n          -H \"X-Requested-With: XMLHttpRequest\"\n"
                summary: Bash
              Javascript:
                description: "-\n      const url = new URL(\n          \"https://api.canoesoftware.com/v1/documents/types\"\n      );\n\n      let headers = {\n          \"Authorization\": \"Bearer {token}\",\n          \"Accept\": \"application/json\",\n          \"X-Requested-With\": \"XMLHttpRequest\",\n          \"Content-Type\": \"application/json\",\n      };\n\n      fetch(url, {\n          method: \"GET\",\n          headers: headers,\n      })\n          .then(response => response.json())\n          .then(json => console.log(json));\n"
                summary: JavaScript
              PHP:
                description: "-\n      $client = new \\GuzzleHttp\\Client();\n      $response = $client->get(\n          'https://api.canoesoftware.com/v1/documents/types',\n          [\n              'headers' => [\n                  'Authorization' => 'Bearer {token}',\n                  'Accept' => 'application/json',\n                  'X-Requested-With' => 'XMLHttpRequest',\n              ],\n          ]\n      );\n      $body = $response->getBody();\n      print_r(json_decode((string) $body));\n"
                summary: PHP
              Python:
                description: "-\n      import requests\n      import json\n\n      url = 'https://api.canoesoftware.com/v1/documents/types'\n      headers = {\n        'Authorization': 'Bearer {token}',\n        'Accept': 'application/json',\n        'X-Requested-With': 'XMLHttpRequest'\n      }\n      response = requests.request('GET', url, headers=headers)\n      response.json()\n"
                summary: Python
              CSharp:
                description: "-\n      using RestSharp;\n\n      var client = new RestClient(\"https://api.canoesoftware.com/\");\n      var request = new RestRequest(\"v1/documents/types\", Method.Get);\n      request.AddParameter(\"Authorization\", string.Format(\"Bearer {token}\"), ParameterType.HttpHeader);\n      request.AddHeader(\"Accept\", \"application/json\");\n      request.AddHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n      var response = client.Execute(request);\n      Console.WriteLine(response.Content);\n"
                summary: CSharp
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  example:
    

# --- truncated at 32 KB (276 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canoe-intelligence/refs/heads/main/openapi/canoe-intelligence-documents-api-openapi.yml