Every API here is available over the APIs.io API and to AI agents over MCP.
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