Canoe Intelligence Documents API

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

Documentation

Specifications

Other Resources

OpenAPI Specification

canoe-intelligence-documents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canoe API v1 Documents API
  version: 1.0.0
  description: "Canoe's API provides methods for retrieving extracted data from documents and their metadata as well as data from downloaded PDFs. This documentation includes detailed explanations of API endpoints and examples. You may not have access to all of the listed endpoints depending on the services you've purchased from Canoe as well as your user permissions.\n<p>By using Canoe’s API Documentation, you agree to the most recent version of <a href=\"https://canoeintelligence.com/api-terms-of-use/\" target=\"_blank\"><u>Canoe’s Developer Portal Terms of Use.</u></a></p>\n<p>In addition to the <code class=\"prettyprint\">curl</code>, <code class=\"prettyprint\">javascript</code>, <code class=\"prettyprint\">python</code>, <code class=\"prettyprint\">php</code> and <code class=\"prettyprint\">CSharp</code> examples next to each endpoint, we've also included a <a href=\"https://www.getpostman.com\" target=\"_blank\"><u>Postman</u></a> collection. The collection contains API calls for each available endpoint.  Postman is a tool that helps generate and test API calls by providing a clean interface to build and save HTTP requests, and to check and test API responses. </p>\n\n<p>\n    Note: Download Postman from their official website. Find out more about how to import Postman collections <a href=\"https://learning.getpostman.com/docs/postman/collections/data_formats/#importing-postman-data\" target=\"_blank\"><u>here</u></a>.\n</p>\n<p>\n    Your information security team may require whitelisting Canoe’s IP addresses before you can call the API.  Whitelist the IP addresses found in <a href=\"https://client.canoesoftware.com/knowledge-base#/api/canoe-api-overview\" target=\"_blank\"><u>this knowledge base page</u></a> to allow all API addresses of Canoe. <b>(Note: You must be logged into your Canoe account to access the knowledge base page)</b>\n</p>\n<p>\n    Your information technology team may require you to open ports to call the API. The API uses port numbers 443 and 9443.\n</p>\n<p>\n    Additionally, your information security team may request that Canoe limit the IP address(es) from which you can make API calls as an extra layer of data protection. If so, please reach out to our support team.\n</p>\n\n<br>\n<strong><u>Request:</u></strong>\n\nThe base URL for all Canoe API requests is <code class=\"prettyprint\">https://api.canoesoftware.com</code>\n\nThe API is built on RESTful principles with resource-oriented URL endpoints. HTTP status codes are used to indicate any API errors and all responses are returned in JSON format. All requests must be made over an HTTPS connection to ensure a secure transmission of data. Following a RESTful structure, requests should hit API endpoints using the appropriate HTTP method, which will depend on the desired action:\n\n<table><thead>\n    <tr>\n        <th>Method</th>\n        <th>Description</th>\n    </tr>\n    </thead><tbody>\n    <tr>\n        <td>GET</td>\n        <td>Use the <strong>GET</strong> method to retrieve information about your users, their organizations, and available associated data. This will always be a read-only request, so queried objects will never be modified by a GET request. When using filter parameters that include special characters, you should always encode those values to fit URI specifications.</td>\n    </tr>\n    <tr>\n        <td>POST</td>\n        <td>Use a <strong>POST</strong> method to create a new object, such as a new user or organization. Request parameters should be given in JSON format. The response body will typically return the newly created resource.</td>\n    </tr>\n    <tr>\n        <td>PUT</td>\n        <td>Use a <strong>PUT</strong> method to update an object, such as updating user credentials. As with a POST request, parameters should be given in JSON format. If successful, the response body will typically return the modified object.</td>\n    </tr>\n    <tr>\n        <td>DELETE</td>\n        <td>Use a <strong>DELETE</strong> method to delete an object, such as deleting one of your funds. Successful DELETE requests will typically return an empty response body.</td>\n    </tr>\n    </tbody></table>\n\n\n<strong><u>Response:</u></strong>\n\n<p>All non-empty response bodies, including errors, will be formatted as a JSON object. If you are fetching multiple entries, such as <code class=\"prettyprint\">/v1/funds</code> example, the data will be returned as a list. If you are fetching a single entry, such as <code class=\"prettyprint\">GET /v1/funds/1</code>, the data will be returned as a single object.</p>\n<p>Canoe's APIs use standard HTTP status codes to indicate the status of a request.</p>\n<p>Below is a brief overview of the most common status codes:</p>\n<table><thead>\n    <tr>\n        <th>Code</th>\n        <th>Text</th>\n        <th>Definition</th>\n    </tr>\n    </thead><tbody>\n    <tr>\n        <td>200</td>\n        <td>OK</td>\n        <td>Success!</td>\n    </tr>\n    <tr>\n        <td>400</td>\n        <td>Bad Request</td>\n        <td>The request was invalid or cannot be otherwise served. This could be due to an invalid or malformed parameter, etc.</td>\n    </tr>\n    <tr>\n        <td>401</td>\n        <td>Unauthorized</td>\n        <td>The API authentication credentials or access token are missing or incorrect.</td>\n    </tr>\n    <tr>\n        <td>403</td>\n        <td>Forbidden</td>\n        <td>The credentials or access token are authenticated, but you do not have access to the requested resource.</td>\n    </tr>\n    <tr>\n        <td>404</td>\n        <td>Not Found</td>\n        <td>The requested resource is invalid or the resource requested, such as a Fund, does not exist. The 404 status code might indicates that the REST API can't map the client's URI to a resource but may be available in the future.</td>\n    </tr>\n    <tr>\n        <td>405</td>\n        <td>Method Not Allowed</td>\n        <td>The request tried to use an HTTP method that the resource does not allow. For instance, a read-only resource could support only GET, but not PUT or DELETE or POST.</td>\n    </tr>\n    <tr>\n        <td>500</td>\n        <td>Internal Server Error</td>\n        <td>There are internal or API-related errors on Canoe's side. Additional requests will not resolve the issue.</td>\n    </tr>\n    <tr>\n        <td>503</td>\n        <td>Service Unavailable</td>\n        <td>The Canoe servers are up, but overloaded with requests. Try again later.</td>\n    </tr>\n    </tbody></table>\n"
  contact:
    name: Canoe Support
    url: https://canoeintelligence.com
  termsOfService: https://canoeintelligence.com/api-terms-of-use/
servers:
- url: https://api.canoesoftware.com
  description: Production API
security:
- bearerAuth: []
tags:
- name: Documents
  description: ''
paths:
  /v1/documents/data:
    get:
      tags:
      - Documents
      summary: Get Document Data
      description: "Fetch 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>"
      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.
        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_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: 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
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Document'
        '403':
          description: No access to the document.
      x-codeSamples:
      - lang: bash
        label: Bash
        source: "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\" \\\n          -H \"Authorization: Bearer {token}\" \\\n          -H \"Accept: application/json\" \\\n          -H \"X-Requested-With: XMLHttpRequest\""
      - lang: javascript
        label: JavaScript
        source: "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          \"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));"
      - lang: php
        label: PHP
        source: "$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                  '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));"
      - lang: python
        label: Python
        source: "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        '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()"
      - lang: csharp
        label: CSharp
        source: "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.Ad

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