Canoe Intelligence Allocations API

The Allocations API from Canoe Intelligence — 2 operation(s) for allocations.

Operations 8

GET Get Allocations #
POST Create A Single Allocation #
PUT Update A Single Allocation #
DELETE Delete A Single Allocation #
GET /v1/allocations Get Allocations #
POST /v1/allocations Create A Single Allocation #
PUT /v1/allocations/{id} Update A Single Allocation #
DELETE /v1/allocations/{id} Delete A Single Allocation #

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-allocations-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-allocations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canoe Intelligence Allocations API
  version: '1.0'
  description: 'Operations tagged Allocations 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: Allocations
  description: ''
paths:
  Get Allocations:
    get:
      tags:
      - Allocations
      summary: null
      description: '/v1/allocations


        Fetch all allocations accessible by the current API user.

        '
      operationId: GetAllocation
      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.
        required: false
        schema:
          type: integer
        examples:
          page 1:
            value: 1
          page 5:
            value: 5
      - name: perPage
        in: query
        description: The number of allocations displayed on each page. The maximum number of allocations as well as the default is 100.
        required: false
        schema:
          type: integer
        examples:
          perPage:
            value: 50
      - name: allocation_id
        in: query
        description: Returns exact allocation record for a specific id. Multiple ids are separated by a comma. Example:- allocation_id1, allocation_id2
        required: false
        schema:
          type: string
        examples:
          allocation_id single:
            value: allocation_id12
          allocation_id multiple:
            value: allocation_id1,allocation_id2
      - name: entity_id
        in: query
        description: Returns exact match on Entity ID that is directly associated to the allocation. Multiple ids are separated by a comma. Example:- entity_3
        required: false
        schema:
          type: string
        examples:
          entity_id single:
            value: entity_id1
          entity_id multiple:
            value: entity_id1,entity_id2
      - name: investment_id
        in: query
        description: Returns exact allocations related to a specific investment/term. Multiple ids are separated by a comma. Example:- investment_id1, investment_id2
        required: false
        schema:
          type: string
        examples:
          investment_id single:
            value: investment_id1
          investment_id multiple:
            value: investment_id1,investment_id2
      - name: custom_allocation_id
        in: query
        description: Returns exact allocations related to a specific tenant assigned investment id. Multiple ids are separated by a comma. Example:- customId1, customId2
        required: false
        schema:
          type: string
        examples:
          custom_allocation_id single:
            value: custom_allocation_id_1
          custom_allocation_id multiple:
            value: custom_allocation_id_1,custom_allocation_id_2
      - name: status
        in: query
        description: Returns allocations related to a specific status. Valid Status values are active, pending, retired, or transitional. Multiple ids are separated by a comma. Example:- active, pending
        required: false
        schema:
          type: string
        examples:
          status 1:
            value: active
          status 2:
            value: pending
          status multiple:
            value: active,pending
      - name: account_id
        in: query
        description: Returns allocations related to a specific account. Multiple ids are separated by a comma. Example:- account_1, account_2
        required: false
        schema:
          type: string
        examples:
          account_id single:
            value: account_1
          account_id multiple:
            value: account_1,account_2
      - name: custom_field
        in: query
        description: An indexed string of one or more custom field IDs, which relate to allocation 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/allocations?custom_field[bfa7ec21-9a73-4640-03b2-0e32aa1ae8a6]=value1,value2;custom_field[another-custom-field-id]=another-value1
        required: false
        schema:
          type: string
        examples:
          custom_field:
            value: custom_field[bfa7ec21-9a73-4640-03b2-0e32aa1ae8a6]=value1,value2
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X GET \\\n      -G \"https://api.canoesoftware.com/v1/allocations?page=1&perPage=50&allocation_id=investment_1&entity_id=entity_3\" \\\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/allocations\"\n      );\n\n      let params = {\n          \"page\": \"1\",\n          \"perPage\": \"50\",\n          \"allocation_id\":\"investment_1\",\n          \"entity_id\":\"entity_3\"\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/allocation',\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/allocations'\n      params = {\n        'page': '1',\n        'perPage': '50',\n        'allocation_id':'investment_1',\n        'entity_id':'entity_3'\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/allocations\", 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(\"perPage\", \"50\");\n      request.AddQueryParameter(\"allocation_id\", \"investment_1\");\n      request.AddQueryParameter(\"entity_id\", \"entity_3\");\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/Allocations'
        '403':
          description: No access to the document.
  Create A Single Allocation:
    post:
      tags:
      - Allocations
      summary: null
      description: '/v1/allocations


        Create a new allocation based on the input parameters.

        '
      operationId: CreateSingleAllocation
      parameters:
      - name: entity_id
        in: body
        description: The ID of the Entity in Canoe.
        required: true
        schema:
          type: string
          example:
            entity 1: entity_1
      - name: fund_id
        in: body
        description: The ID of the Investment/Fund in Canoe.
        required: true
        schema:
          type: string
          example:
            fund_id: investment_1
      - name: term_id
        in: body
        description: The ID of the term at canoe. If not provided, the default term will be assigned.
        required: false
        schema:
          type: string
          example:
            term_id: term_1
      - name: initial_date
        in: body
        description: Allocation inception Date. Its format is yyyy-mm-dd.
        required: true
        schema:
          type: string
          example:
            initial_date: '2021-01-01'
      - name: initial_amount
        in: body
        description: The initial amount for the allocation. Value must be greater than 0.
        required: true
        schema:
          type: string
          example:
            initial_amount: 10000
      - name: status
        in: body
        description: Indicates whether an allocation is active. The status can be active, pending, retired, or transitional. If not provided, the default is active.
        required: false
        schema:
          type: string
          example:
            status: active
      - name: custom_allocation_id
        in: body
        description: The custom allocation ID you'd like to associate the allocation with.
        required: false
        schema:
          type: string
          example:
            custom_allocation_id: 700
      - name: downstream_ids
        in: body
        description: null
        required: false
        schema:
          type: array
          example:
            downstream_ids:
            - id: black_diamond_account_name
              value: sample_name
      - name: downstream_ids.*.id
        in: body
        description: ID of the allocation downstream system identifier. Possible options are black_diamond_account_name, black_diamond_account_number, archway_portfolio_id, investment_metrics_account_short_name.
        required: true
        schema:
          type: string
          example:
            downstream_ids:
            - id: black_diamond_account_name
      - name: downstream_ids.*.value
        in: body
        description: The value for the specified downstream system identifier.
        required: true
        schema:
          type: string
          example:
            downstream_ids:
            - value: sample_name
      - name: custom_fields
        in: body
        description: null
        required: false
        schema:
          type: array
          example:
            custom_fields:
            - id: 1
              value: 1000
      - name: custom_fields.*.id
        in: body
        description: ID of the allocation custom field. This can be retrieved by using the Get Allocations endpoint.
        required: true
        schema:
          type: string
          example:
            downstream_ids:
            - id: 1
      - name: custom_fields.*.value
        in: body
        description: The value of the custom Field.
        required: true
        schema:
          type: string
          example:
            downstream_ids:
            - value: 1000
      - name: allocation_entity_aliases
        in: body
        description: Aliases of the allocation entity name. These are user-created. If there are multiple aliases, they should be separated by commas.
        required: false
        schema:
          type: string
          example:
            allocation_entity_aliases: Sample allocation entity alias 1,Sample allocation entity alias 2
      - name: allocation_fund_aliases
        in: body
        description: Aliases of the allocation fund name. These are user-created. If there are multiple aliases, they should be separated by commas.
        required: false
        schema:
          type: string
          example:
            allocation_fund_aliases: Sample allocation fund alias 1,Sample allocation fund alias 2
      - name: retired_at
        in: body
        description: Allocation retire date. Retired date must be provided if the status is set to retired and should be at least one month after the initial investment date.
        required: false
        schema:
          type: string
          example:
            retired_at: '2022-01-01'
      - name: extraction_status
        in: body
        description: The status of the allocation extraction. The status can be Ready For Extract and Not Ready For Extract
        required: false
        schema:
          type: string
          example:
            extraction_status: Ready For Extract
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X POST \\\n          \"https://api.canoesoftware.com/v1/allocations\" \\\n          -H \"Authorization: Bearer {token}\" \\\n          -H \"Accept: application/json\" \\\n          -H \"X-Requested-With: XMLHttpRequest\" \\\n          -H \"Content-Type: application/json\" \\\n          -d '{\"entity_id\":\"entity_1\",\"fund_id\":\"investment_1\",\"initial_date\":\"2021-01-01\",\"initial_amount\":\"10000\",\"status\":\"active\",\"custom_allocation_id\":\"700\",\"downstream_ids\":[{\"id\":\"black_diamond_account_name\",\"value\":\"sample_name\"}],\"custom_fields\":[{\"id\":\"1\",\"value\":\"1000\"}],\"allocation_entity_aliases\":\"Sample allocation entity alias 1,Sample allocation entity alias 2\",\"allocation_fund_aliases\":\"Sample allocation fund alias 1,Sample allocation fund alias 2\"}'\n"
                summary: Bash
              Javascript:
                description: "-\n      const url = new URL(\n        \"https://api.canoesoftware.com/v1/allocations\"\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      let body = {\n        \"entity_id\": \"entity_1\",\n        \"fund_id\": \"investment_1\",\n        \"initial_date\": \"2021-01-01\",\n        \"initial_amount\": \"10000\",\n        \"status\": \"active\",\n        \"custom_allocation_id\": \"700\",\n        \"downstream_ids\": [\n          {\n            \"id\": \"black_diamond_account_name\",\n            \"value\": \"sample_name\"\n          }\n        ],\n        \"custom_fields\": [\n          {\n            \"id\": \"1\",\n            \"value\": \"1000\"\n          }\n        ],\n        \"allocation_entity_aliases\": \"Sample allocation entity alias 1,Sample allocation entity alias 2\",\n        \"allocation_fund_aliases\": \"Sample allocation fund alias 1,Sample allocation fund alias 2\"\n      }\n      fetch(url, {\n        method: \"POST\",\n        headers: headers,\n        body: body\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->post(\n        'https://api.canoesoftware.com/v1/allocations',\n        [\n          'headers' => [\n            'Authorization' => 'Bearer {token}',\n                    'Accept' => 'application/json',\n            'X-Requested-With' => 'XMLHttpRequest',\n            'Content-Type' => 'application/json',\n          ],\n          'json' => [\n            'entity_id' => 'entity_1',\n            'fund_id' => 'investment_1',\n            'initial_date' => '2021-01-01',\n            'initial_amount' => '10000',\n            'status' => 'active',\n            'custom_allocation_id' => '700',\n            'downstream_ids' => [\n              [\n                'id' => 'black_diamond_account_name',\n                'value' => 'sample_name',\n              ],\n            ],\n            'custom_fields' => [\n              [\n                'id' => '1',\n                'value' => '1000',\n              ],\n            ],\n            'allocation_entity_aliases' => 'Sample allocation entity alias 1,Sample allocation entity alias 2',\n            'allocation_fund_aliases' => 'Sample allocation fund alias 1,Sample allocation fund alias 2',\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/allocations'\n      params = {\n        'page': '1',\n        'perPage': '50',\n        'allocation_id':'investment_1',\n        'entity_id':'entity_3'\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/allocations\", Method.Post);\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.AddHeader(\"Content-Type\", \"application/json\");\n      var body = new\n      {\n        entity_id = \"entity_1\",\n        fund_id = \"investment_1\",\n        initial_date = \"2021-01-01\",\n        initial_amount = \"10000\",\n        status = \"active\",\n        custom_allocation_id = 700,\n        downstream_ids = new[]\n        {\n          new { id = black_diamond_account_name, value = sample_name }\n        },\n        custom_fields = new[]\n        {\n          new { id = 1, value = 100 }\n        },\n        allocation_entity_aliases = \"Sample allocation entity alias 1,Sample allocation entity alias 2\",\n        allocation_fund_aliases = \"Sample allocation fund alias 1,Sample allocation fund alias 2\"\n      };\n      request.AddJsonBody(body);\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/SingleAllocation'
        '403':
          description: Failed to create the allocation.
        '422':
          description: The date entered should have the format yyyy-mm-dd.
  Update A Single Allocation:
    put:
      tags:
      - Allocations
      summary: null
      description: '/v1/allocations/{id}


        Update an existing allocation based on the input parameters.

        '
      operationId: UpdateSingleAllocation
      parameters:
      - name: id
        in: path
        description: The id of the allocation you want to edit.
        required: true
        schema:
          type: string
          example: 1
      - name: initial_date
        in: body
        description: Allocation inception Date. Its format is yyyy-mm-dd.
        required: false
        schema:
          type: string
          example:
            initial_date: 2021-01-01
      - name: initial_amount
        in: body
        description: The initial amount for the allocation. Value must be greater than 0.
        required: false
        schema:
          type: string
          example:
            initial_amount: 10000
      - name: status
        in: body
        description: Indicates whether an allocation is active. The status can be active, pending, retired, or transitional. If not provided, the default is active.
        required: false
        schema:
          type: string
          example:
            initial_amount: active
      - name: custom_allocation_id
        in: body
        description: The custom allocation ID you'd like to associate the allocation with.
        required: false
        schema:
          type: string
          example:
            custom_allocation_id: 123
      - name: downstream_ids
        in: body
        description: null
        required: false
        schema:
          type: array
          example:
            downstream_ids:
            - id: black_diamond_account_name
              value: sample_name
      - name: downstream_ids.*.id
        in: body
        description: ID of the allocation downstream system identifier. Possible options are black_diamond_account_name, black_diamond_account_number, archway_portfolio_id, investment_metrics_account_short_name.
        required: true
        schema:
          type: string
          example:
            downstream_ids:
            - id: black_diamond_account_name
      - name: downstream_ids.*.value
        in: body
        description: The value for the specified downstream system identifier.
        required: true
        schema:
          type: string
          example:
            downstream_ids:
            - value: sample_name
      - name: custom_fields
        in: body
        description: null
        required: false
        schema:
          type: array
          example:
            custom_fields:
            - id: 1
              value: 1000
      - name: custom_fields.*.id
        in: body
        description: ID of the allocation custom field. This can be retrieved by using the Get Allocations endpoint.
        required: true
        schema:
          type: string
          example:
            downstream_ids:
            - id: 1
      - name: custom_fields.*.value
        in: body
        description: The value of the custom Field.
        required: true
        schema:
          type: string
          example:
            downstream_ids:
            - value: 1000
      - name: allocation_entity_aliases
        in: body
        description: Aliases of the allocation entity name. These are user-created. If there are multiple aliases, they should be separated by commas.
        required: false
        schema:
          type: string
          example:
            allocation_entity_aliases: Sample allocation entity alias 1,Sample allocation entity alias 2
      - name: allocation_fund_aliases
        in: body
        description: Aliases of the allocation fund name. These are user-created. If there are multiple aliases, they should be separated by commas.
        required: false
        schema:
          type: string
          example:
            allocation_fund_aliases: Sample allocation fund alias 1,Sample allocation fund alias 2
      - name: retired_at
        in: body
        description: Allocation retire date. Retired date must be provided if the status is set to retired and should be at least one month after the initial investment date.
        required: false
        schema:
          type: string
          example:
            retired_at: '2022-01-01'
      - name: extraction_status
        in: body
        description: The status of the allocation extraction. The status can be Ready For Extract and Not Ready For Extract
        required: false
        schema:
          type: string
          example:
            extraction_status: Ready For Extract
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X POST \\\n          \"https://api.canoesoftware.com/v1/allocations\" \\\n          -H \"Authorization: Bearer {token}\" \\\n          -H \"Accept: application/json\" \\\n          -H \"X-Requested-With: XMLHttpRequest\" \\\n          -H \"Content-Type: application/json\" \\\n          -d '{\"entity_id\":\"entity_1\",\"fund_id\":\"investment_1\",\"initial_date\":\"2021-01-01\",\"initial_amount\":\"10000\",\"status\":\"active\",\"custom_allocation_id\":\"700\",\"downstream_ids\":[{\"id\":\"black_diamond_account_name\",\"value\":\"sample_name\"}],\"custom_fields\":[{\"id\":\"1\",\"value\":\"1000\"}],\"allocation_entity_aliases\":\"Sample allocation entity alias 1,Sample allocation entity alias 2\",\"allocation_fund_aliases\":\"Sample allocation fund alias 1,Sample allocation fund alias 2\"}'\n"
                summary: Bash
              Javascript:
                description: "-\n      const url = new URL(\n          \"https://api.canoesoftware.com/v1/allocations\"\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      let body = {\n          \"entity_id\": \"entity_1\",\n          \"fund_id\": \"investment_1\",\n          \"initial_date\": \"2021-01-01\",\n          \"initial_amount\": \"10000\",\n          \"status\": \"active\",\n          \"custom_allocation_id\": \"700\",\n          \"downstream_ids\": [\n              {\n                  \"id\": \"black_diamond_account_name\",\n                  \"value\": \"sample_name\"\n              }\n          ],\n          \"custom_fields\": [\n              {\n                  \"id\": \"1\",\n                  \"value\": \"1000\"\n              }\n          ],\n          \"allocation_entity_aliases\": \"Sample allocation entity alias 1,Sample allocation entity alias 2\",\n          \"allocation_fund_aliases\": \"Sample allocation fund alias 1,Sample allocation fund alias 2\"\n      }\n\n      fetch(url, {\n          method: \"POST\",\n          headers: headers,\n          body: body\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->post(\n          'https://api.canoesoftware.com/v1/allocations',\n          [\n              'headers' => [\n                  'Authorization' => 'Bearer {token}',\n                  'Accept' => 'application/json',\n                  'X-Requested-With' => 'XMLHttpRequest',\n                  'Content-Type' => 'application/json',\n              ],\n              'json' => [\n                  'entity_id' => 'entity_1',\n                  'fund_id' => 'investment_1',\n                  'initial_date' => '2021-01-01',\n                  'initial_amount' => '10000',\n                  'status' => 'active',\n                  'custom_allocation_id' => '700',\n                  'downstream_ids' => [\n                      [\n                          'id' => 'black_diamond_account_name',\n                          'value' => 'sample_name',\n                      ],\n                  ],\n                  'custom_fields' => [\n                      [\n                          'id' => '1',\n                          'value' => '1000',\n                      ],\n                  ],\n                  'allocation_entity_aliases' => 'Sample allocation entity alias 1,Sample allocation entity alias 2',\n                  'allocation_fund_aliases' => 'Sample allocation fund alias 1,Sample allocation fund alias 2',\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/allocations'\n      payload = {\n          \"entity_id\": \"entity_1\",\n          \"fund_id\": \"investment_1\",\n          \"initial_date\": \"2021-01-01\",\n          \"initial_amount\": \"10000\",\n          \"status\": \"active\",\n          \"custom_allocation_id\": \"700\",\n          \"downstream_ids\": [\n              {\n                  \"id\": \"black_diamond_account_name\",\n                  \"value\": \"sample_name\"\n              }\n          ],\n          \"custom_fields\": [\n              {\n                  \"id\": \"1\",\n                  \"value\": \"1000\"\n              }\n          ],\n          \"allocation_entity_aliases\": \"Sample allocation entity alias 1,Sample allocation entity alias 2\",\n          \"allocation_fund_aliases\": \"Sample allocation fund alias 1,Sample allocation fund alias 2\"\n      }\n      headers = {\n        'Authorization': 'Bearer {token}',\n        'Accept': 'application/json',\n        'X-Requested-With': 'XMLHttpRequest',\n        'Content-Type': 'application/json'\n      }\n      response = requests.request('POST', url, headers=headers, json=payload)\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/allocations/1\", Method.Put);\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.AddHeader(\"Content-Type\", \"application/json\");\n      var body = new\n      {\n          initial_date = \"2021-01-01\",\n          initial_amount = \"10000\",\n          status = \"active\",\n          custom_allocation_id = 700,\n          downstream_ids = new[]\n          {\n              new { id = black_diamond_account_name, value = sample_name }\n          },\n          custom_fields = new[]\n          {\n              new { id = 1, value = 100 }\n          },\n          allocation_entity_aliases = \"Sample allocation entity alias 1,Sample allocation entity alias 2\",\n          allocation_fund_aliases = \"Sample allocation fund alias 1,Sample allocation fund alias 2\"\n      };\n      request.AddJsonBody(body);\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/SingleAllocation'
        '403':
          description: Failed to create the allocation.
        '422':
          description: The date entered should have the format yyyy-mm-dd.
  Delete A Single Allocation:
    delete:
      tags:
      - Allocations
      summary: null
      description: '/v1/allocations/{id}

        Delete a specific allocation by its ID.

        '
      operationId: DeleteSingleAllocation
      parameters:
      - name: id
        in: path
        description: The id of the allocation to be deleted.
        required: true
        schema:
          type: string
          example: 1
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              bash:
                description: "-\n      curl -X DELETE \\\n          \"https://api.canoesoftware.com/v1/allocations/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/allocations/1\"\n      );\n      let headers = {\n          \"Authorization\": \"Bearer {token}\",\n          \"Accept\": \"application/json\",\n          \"X-Requested-With\": \"XMLHttpRequest\",\n          \"Conten

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