Canoe Intelligence Organizations API

The Organizations API from Canoe Intelligence — 9 operation(s) for organizations.

Operations 18

GET Get Organizations #
GET Get A Single Organization #
GET Get A Single Organization's Document Data #
GET Download A Single Organization's Documents #
GET Get A Single Organization's Document IDs #
POST Create A Single Entity #
PUT Update A Single Entity #
POST Create A Single Account #
PUT Update A Single Account #
GET /v1/organizations Get Organizations #
GET /v1/organizations/{id} Get A Single Organization #
GET /v1/organizations/{id}/document-data Get A Single Organization's Document Data #
GET /v1/organizations/{id}/documents Download A Single Organization's Documents #
GET /v1/organizations/{id}/document-ids Get A Single Organization's Document IDs #
POST /v1/organizations/entities Create A Single Entity #
PUT /v1/organizations/entities/{id} Update A Single Entity #
POST /v1/organizations/accounts Create A Single Account #
PUT /v1/organizations/accounts/{id} Update A Single Account #

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-organizations-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-organizations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canoe Intelligence Organizations API
  version: '1.0'
  description: 'Operations tagged Organizations 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: Organizations
  description: ''
paths:
  Get Organizations:
    get:
      tags:
      - Organizations
      summary: null
      description: "/v1/organizations\n\nGet your organizations user info\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 2023-08-07.\n</span>\n"
      operationId: Organizations
      parameters:
      - name: page
        in: query
        description: This page number. For example, if you specify "2" you will see all organizations 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 2023-08-07.</u>
        required: false
        schema:
          type: string
          examples:
            page 1:
              value: 1
            page 5 multiple:
              value: 5
      - name: limit
        in: query
        description: The number of Organizations for each paginated download. The default is 100.
        required: false
        schema:
          type: string
        examples:
          3 per page:
            value: 3
          50 per page:
            value: 50
      - name: organization_id
        in: query
        description: This is the entity or account ID you would like to search for. When filtering on multiple values, separate them by commas.
        required: false
        schema:
          type: string
          example:
            organization_id: organization_1,organization_2
      - name: entity_custom_field
        in: query
        description: An indexed string of one or more custom field IDs, which relate to entity specific custom fields, and one or more custom field values for each. Specify the custom field ID and then the custom field value(s).  When filtering on multiple values, separate them by commas.  Filter on additional custom fields by separating with an ampersand. Example:- /v1/organizations?entity_custom_field[bfa7ec21-9a73-4640-03b2-0e32aa1ae8a6]=value1,value2&entity_custom_field[867e4563-c2b5-e788-d050-4ce151dec635]=value1
        required: false
        schema:
          type: string
        examples:
          entity_custom_field:
            value: entity_custom_field[bfa7ec21-9a73-4640-03b2-0e32aa1ae8a6]=value1,value2
      - name: account_custom_field
        in: query
        description: An indexed string of one or more custom field IDs, which relate to account specific custom fields, and one or more custom field values for each. Specify the custom field ID and then the custom field value(s).  When filtering on multiple values, separate them by commas.  Filter on additional custom fields by separating with an ampersand. Example:- /v1/organizations?account_custom_field[bfa7ec21-9a73-4640-03b2-0e32aa1ae8a6]=value1,value2&account_custom_field[867e4563-c2b5-e788-d050-4ce151dec635]=value1
        required: false
        schema:
          type: string
        examples:
          account_custom_field:
            value: account_custom_field[bfa7ec21-9a73-4640-03b2-0e32aa1ae8a6]=value1,value2
      - name: type
        in: query
        description: The type of organizations to return. Available types are 'account' and 'entity'. Defaults to both types.
        required: false
        schema:
          type: string
        examples:
          account:
            value: account
          entity:
            value: entity
      - name: name
        in: query
        description: The names of the accounts or entities you wish to retrieve records for. When filtering for entities this can either be the formal entity name or any of its associated aliases. To search based on a part of an account name or part of an entity name or alias, just append an "*" character anywhere within the name parameter.
        schema: null
        type: string
        examples:
          single name:
            value: Sample Organization 1
          partial name:
            value: Sample Org*
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X GET \\\n          -G \"https://api.canoesoftware.com/v1/organizations?type=account\" \\\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/organizations\"\n      );\n\n      let params = {\n          \"type\": \"account\",\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/organizations',\n          [\n              'headers' => [\n                  'Authorization' => 'Bearer {token}',\n                  'Accept' => 'application/json',\n                  'X-Requested-With' => 'XMLHttpRequest',\n              ],\n              'query' => [\n                  'type' => 'account',\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/organizations'\n      params = {\n        'type': 'account'\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/organizations\", 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(\"type\", \"account\");\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/GetOrganization'
        '400':
          description: Bad request
        '404':
          description: Resource Not Found
        '422':
          description: Unprocessable Entity
  Get A Single Organization:
    get:
      tags:
      - Organizations
      summary: null
      description: '/v1/organizations/{id}


        Fetch organization by the organization''s ID

        '
      operationId: FindById
      parameters:
      - name: id
        in: path
        description: The id of the organization.
        required: true
        schema:
          type: string
          example: 1
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X GET \\\n          -G \"https://api.canoesoftware.com/v1/organizations/1\" \\\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/organizations/1\"\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/organizations/1',\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/organizations/1'\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/organizations/1\", 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:
                  $ref: '#/components/schemas/GetOrganization'
        '400':
          description: Bad request
        '404':
          description: Resource Not Found
        '422':
          description: Unprocessable Entity
  Get A Single Organization's Document Data:
    get:
      tags:
      - Organizations
      summary: null
      description: '/v1/organizations/{id}/document-data


        Fetch the extracted data and metadata of a single organization''s documents.


        <span name="doc-alert-info">

        This endpoint offers optional pagination.

        Pagination supports the return of large results and is highly recommended for all use cases.

        Unpaginated calls will be depreciated in future versions of the Canoe API.

        <br><br>

        When using pagination, the response will contain headers defining the <code>total</code> number of results,

        as well as the <code>first</code>, <code>next</code>, <code>prev</code>, and <code>last</code> page responses for your result set.

        To enable pagination pass a header parameter of X-API-VERSION with a value of 2024-10-07.

        </span>

        '
      operationId: FindBySingleOrganizationId
      parameters:
      - name: id
        in: path
        description: The id of the organization.
        required: true
        schema:
          type: string
          example: 1
      - 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 2024-10-07.</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 2024-10-07.</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: 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
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X GET \\\n          -G \"https://api.canoesoftware.com/v1/organizations/1/document-data?fields=name%2Cvalidated_data&category=Capital%20Activity\" \\\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/organizations/1/document-data\"\n      );\n\n      let params = {\n          \"fields\": \"name,validated_data\",\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/organizations/1/document-data',\n          [\n              'headers' => [\n                  'Authorization' => 'Bearer {token}',\n                  'Accept' => 'application/json',\n                  'X-Requested-With' => 'XMLHttpRequest',\n              ],\n              'query' => [\n                  'fields' => 'name,validated_data',\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/organizations/1/document-data'\n      params = {\n        'fields': 'name,validated_data',\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/organizations/1/document-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(\"fields\", \"name,validated_data\");\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/GetSingleOrganizationData'
        '400':
          description: Bad request
        '404':
          description: Resource Not Found
        '422':
          description: Unprocessable Entity
  Download A Single Organization's Documents:
    get:
      tags:
      - Organizations
      summary: null
      description: '/v1/organizations/{id}/documents


        Download a specific Organization''s documents in a ZIP file. Each fetch will download up to 100 documents. By default, this will fetch the first 100 documents in the Intelligent Document Center. A successful call to this endpoint will only contain the binary file and not the JSON data.

        '
      operationId: DownloadOrganizationDocuments
      parameters:
      - name: id
        in: path
        description: The id of the organization.
        required: true
        schema:
          type: string
          example: 1
      - name: start_time
        in: query
        description: All documents downloaded will have an uploaded timestamp greater than or equal to the given start_time. Unless otherwise specified, the timestamp will be in EST (Eastern Standard Time). We suggest using the ISO 8601 format 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:
          start_time:
            value: '2019-03-30T04:00:00Z'
      - name: page
        in: query
        description: This page number corresponds with the pagination in Canoe's Intelligent Document Center. There are up to 100 documents on each page. For example, if you specify "2" you will see all of an Organization's documents on page 2. By default, this is set to 1.
        required: false
        schema:
          type: string
        examples:
          page:
            value: '1'
      - name: limit
        in: query
        description: The number of documents for each download. The maximum number of documents as well as the default is 100.
        required: false
        schema:
          type: string
        examples:
          limit:
            value: '50'
      - name: file_name_type
        in: query
        description: The document attribute to use for the file name. Available options are name, original_file_name and id. The default value for this is name.
        required: false
        schema:
          type: string
        examples:
          file_name_type:
            value: original_file_name
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X GET \\\n          -G \"https://api.canoesoftware.com/v1/organizations/1/documents?start_time=2019-03-30T04%3A00%3A00Z&page=1&limit=50&file_name_type=original_file_name\" \\\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/organizations/1/documents\"\n      );\n\n      let params = {\n          \"start_time\": \"2019-03-30T04:00:00Z\",\n          \"page\": \"1\",\n          \"limit\": \"50\",\n          \"file_name_type\": \"original_file_name\"\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/organizations/1/documents',\n          [\n              'headers' => [\n                  'Authorization' => 'Bearer {token}',\n                  'Accept' => 'application/json',\n                  'X-Requested-With' => 'XMLHttpRequest',\n              ],\n              'query' => [\n                  'start_time' => '2019-03-30T04:00:00Z',\n                  'page' => '1',\n                  'limit' => '50',\n                  'file_name_type' => 'original_file_name'\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/organizations/1/documents'\n      params = {\n        'start_time': '2019-03-30T04:00:00Z',\n        'page': '1',\n        'limit': '50',\n        'file_name_type': 'original_file_name'\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/organizations/1/documents\", 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(\"start_time\", \"2019-03-30T04:00:00Z\");\n      request.AddQueryParameter(\"page\", \"1\");\n      request.AddQueryParameter(\"limit\", \"50\");\n      request.AddQueryParameter(\"file_name_type\", \"original_file_name\");\n      var response = client.Execute(request);\n      foreach (var h in response.ContentHeaders) {\n          if (h.Name==\"Content-Disposition\") {\n              var disposition = h.Value.ToString();\n              var filename = disposition.Substring(disposition.IndexOf(\"filename=\") + \"filename=\".Length);\n              File.WriteAllBytes(filename, response.RawBytes);\n          }\n      }\n"
                summary: CSharp
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '404':
          description: Resource Not Found
        '422':
          description: Unprocessable Entity
  Get A Single Organization's Document IDs:
    get:
      tags:
      - Organizations
      summary: null
      description: '/v1/organizations/{id}/document-ids


        Get a specific organization''s document IDs for downloading the documents one by one.

        '
      operationId: DownloadBySingleOrganizationId
      parameters:
      - name: id
        in: path
        description: The id of the organization.
        required: true
        schema:
          type: string
          example: 1
      - name: start_time
        in: query
        description: All document IDs returned will have an uploaded timestamp greater than or equal to the given start_time. Unless otherwise specified, the timestamp will be in EST (Eastern Standard Time). We suggest using the ISO 8601 format 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:
          start_time:
            value: '2019-03-30T04:00:00Z'
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X GET \\\n          -G \"https://api.canoesoftware.com/v1/organizations/1/document-ids?start_time=2019-03-30T04%3A00%3A00Z\" \\\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/organizations/1/document-ids\"\n      );\n\n      let params = {\n          \"start_time\": \"2019-03-30T04:00:00Z\",\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/organizations/1/document-ids',\n          [\n              'headers' => [\n                  'Authorization' => 'Bearer {token}',\n                  'Accept' => 'application/json',\n                  'X-Requested-With' => 'XMLHttpRequest',\n              ],\n              'query' => [\n                  'start_time' => '2019-03-30T04:00:00Z',\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/organizations/1/document-ids'\n      params = {\n        'start_time': '2019-03-30T04:00:00Z'\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/organizations/1/document-ids\", 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(\"start_time\", \"2019-03-30T04:00:00Z\");\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/GetSingleOrganizationId'
        '400':
          description: Bad request
        '404':
          description: Resource Not Found
        '422':
          description: Unprocessable Entity
  Create A Single Entity:
    post:
      tags:
      - Organizations
      summary: null
      description: '/v1/organizations/entities


        Create a new entity based on the input parameters.

        '
      operationId: CreateASingleEntity
      parameters:
      - name: parent_account
        in: body
        description: The ID of the entity's parent account.
        required: true
        schema:
          type: string
        examples:
          parent_account:
            value: account_1
      - name: name
        in: body
        description: The name of the entity.
        required: true
        schema:
          type: string
        examples:
          name:
            value: Sample entity 1
      - name: aliases
        in: body
        description: Aliases of the entity name. These are user-created. If there are multiple aliases, they should be separated by commas.
        required: true
        schema:
          type: string
        examples:
          aliases:
            value: Sample alias 1
      - name: downstream_ids
        in: body
        description: null
        required: false
        schema:
          type: string
      - name: downstream_ids.ids
        in: body
        description: ID of the entity downstream system identifier. Possible options are addepar_owner_id, addepar_cash_owner_id, tamarac_account_number.
        required: false
        schema:
          type: string
        examples:
          aliases.ids:
            value: addepar_owner_id
      - name: downstream_ids.value
        in: body
        description: The value for the specified downstream system identifier.
        required: false
        schema:
          type: string
          aliases.value:
            value: sample_name
      - name: custom_fields
        in: body
        description: null
        required: false
        schema:
          type: string
      - name: custom_fields.id
        in: body
        description: ID of the entity custom field. This can be retrieved by using the Get Organizations endpoint.
        required: true
        schema:
          type: string
        examples:
          custom_fields.id:
            value: '1'
      - name: custom_fields.value
        in: body
        description: The value of the custom Field.
        required: true
        schema:
          type: string
        examples:
          custom_fields.value:
            value: '1000'
      requestBody:
        content:
          application/json:
            schema:
              type: string
 

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