---
title: "Create a fund"
method: POST
path: "/api/v2/funds/create"
tags: ["Fund management"]
---

# Create a fund

`POST /api/v2/funds/create`

## Request

- Base URL: `https://capitalcompany.ai`
- URL: `https://capitalcompany.ai/api/v2/funds/create`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Calls the same authorized creation mutation as the web app. Responds with done and the fund identifiers, or needs-input before anything is created. Keep creationIdempotencyKey across every retry and confirmation. Document generation and signature delivery continue asynchronously. Required key scope: funds:write.

## Request body

- Create
  - `legalName` string, required: Legal name of the fund or entity being created. Include its legal suffix. Series fund names must follow the selected master’s naming requirements. Inside testFundConfirmation, repeat the exact fund legalName being confirmed.
  - `isTestFund` boolean, required: Whether this is a test fund excluded from tax filings and Form D tracking. Marking a fund manually still requires the same team permission as the web app.
  - `testFundConfirmation` object, nullable, required: Explicit answer to confirm-test-fund. Initially null; when requested, supply the exact legalName and whether it is a test fund, then resubmit with the same creation key.
    - `legalName` string, required: Legal name of the fund or entity being created. Include its legal suffix. Series fund names must follow the selected master’s naming requirements. Inside testFundConfirmation, repeat the exact fund legalName being confirmed.
    - `isTestFund` boolean, required: Whether this is a test fund excluded from tax filings and Form D tracking. Marking a fund manually still requires the same team permission as the web app.
  - `usesFundUnits` boolean, required: Whether investor interests are represented using fund units. Fund-unit pricing is separate from company share pricing.
  - `minAccreditationLevel` 'accredited' | 'qualified-client' | 'qualified-purchaser', required: Minimum investor accreditation required at creation. Regulatory checks can require a higher level for the selected strategy and jurisdictions.
  - `requiresBeneficialOwnerCheck` boolean, required: Require beneficial-owner screening. CFIUS screening requires this to be enabled; disabling it clears the stored ownership threshold.
  - `requiresCfiusCheck` boolean, required: Require CFIUS screening. Enabling it also enables beneficial-owner screening; explicitly disabling beneficial-owner screening in the same request is rejected.
  - `requiresBeneficialOwnerId` 'non-us-natural-persons' | 'all-natural-persons', required: Which beneficial owners must supply identification. Uses the same choices as the fund Details tab.
  - `creationIdempotencyKey` string, uuid, required: Client-generated UUID for one intended fund. Keep it unchanged across confirmations and retries. After creation, reuse returns the original fund; it does not update it.
  - `expectedAllocation` number, required: Fundraising target in USD. Must be positive; this describes the target and does not create an investment or capital call.
  - `memoAsMarkdown` string, nullable: Initial investor-portal summary in Markdown. Blank text is normalized to null. Available at creation only.
  - `strategy` union, required: Investment strategy. Secondary has only type; primary also requires isVentureCapitalFund.
    - object
      - `type` 'secondary', required: Discriminator for this object: primary/secondary for strategy, spv/blind-pool for vehicle, or the fee category for a template fee. See this property’s enum for the applicable choices.
    - object
      - `type` 'primary', required: Discriminator for this object: primary/secondary for strategy, spv/blind-pool for vehicle, or the fee category for a template fee. See this property’s enum for the applicable choices.
      - `isVentureCapitalFund` boolean, required: Election to use the venture-capital exemption. Used with a primary strategy; the Details tab displays this election for primary funds.
  - `acknowledgesNonVcRegulatoryRequirements` boolean: Explicit acknowledgement of the regulatory requirements presented for a non-venture-capital strategy. The shared server validator determines when this is required.
  - `fundClasses` object[], required: Fund classes to create with their subscription terms, template fees and optional featured investments. Arrays describe the complete initial configuration.
    - `name` string, required: Display name of this fund class.
    - `featuredCompany` Schema0 (unresolved $ref)
    - `templateFees` object[], required: Initial fee schedules. Percentage rates are fractions; fixed amounts use the applicable currency. Rows with neither percentage nor amount are removed by the shared schema.
      - `earningCondition` 'occurrence-date' | 'fund-close' | 'initial-investment', required: occurrence-date earns on the contractual schedule occurrence; fund-close earns on the later of that occurrence and the recorded successful final fundraising close. initial-investment earns on the later of that occurrence and the documented initial investment event. An unknown event remains unearned; bank payment is not an earning event.
      - `id` string, uuid, nullable: Existing fee-schedule raw UUID when retaining a draft row’s identity. Omit or use null for a new schedule.
      - `type` 'admin-fee' | 'management-fee' | 'carried-interest' | 'escrow-fee' | 'fund-cost' | 'deferral-fee' | 'broker-fee', required: Discriminator for this object: primary/secondary for strategy, spv/blind-pool for vehicle, or the fee category for a template fee. See this property’s enum for the applicable choices.
      - `displayName` string, nullable: Optional investor-facing name for this fee, up to 120 characters.
      - `percentage` number, nullable: The rate as a fraction of one: 0.02 for 2%.
      - `amount` number, nullable: Fixed fee amount in the applicable currency. Null means no fixed amount quote.
      - `basisAmountOverride` number, nullable: Documented invested capital for a fee collected from invested capital, in the fee currency. Null leaves that basis unresolved. This is not the subscription amount, because contributions can include fees, expenses or uninvested cash.
      - `quotedFrequency` 'one-time' | 'quarterly' | 'annually', required: Period for which the fee is quoted: one-time, quarterly or annually. This is separate from when it accrues or is collected.
      - `accrualType` 'upfront' | 'periodic' | 'at-exit', required: The fee assessment cadence: upfront, periodic or at exit. The earning condition separately controls provider recognition.
      - `accrualFrequency` 'quarterly' | 'annually', nullable, required: Accrual cadence. Required for periodic accrual; must be null for other accrual types.
      - `isRefundable` boolean, required: Whether the schedule permits refunding the fee under its configured terms.
      - `fromYear` integer, required: First subscription year to which this schedule applies, starting at 1.
      - `toYear` integer, nullable: Last subscription year, inclusive. Null means no fixed end. Periodic fees included in subscriptions require a finite term.
      - `collectionMethod` 'from-invested-capital' | 'from-net-commitment' | 'from-gross-commitment' | 'from-proceeds' | 'from-fee-capital-call' | 'from-fee-capital-call-on-gross', required: How the fee is funded: the subscription, an amount on top, or investment proceeds. See the enum; accrual timing is configured separately.
      - `splitProRata` boolean, nullable: Whether this fee is split pro rata under the shared fee-allocation rules. Null leaves the optional election unset.
      - `note` string, nullable: Optional explanatory note attached to this fee schedule.
      - `hurdles` object[]: Optional carry tiers. Each defines its metric, threshold, fee rate and any permitted preferred-return/catch-up settings.
        - `hurdle` number, required: Threshold for this tier, in the selected metric’s units: a fraction for IRR or a multiple for MOIC.
        - `metric` 'net-moic' | 'net-irr' | 'gross-moic' | 'gross-irr', required: Performance metric used to decide when this carry tier applies.
        - `feeRate` number, required: Carry rate for this tier as a fraction of one.
        - `withinWindowInMonths` number, nullable: Optional month window in which this hurdle must be met.
        - `catchUpRate` number, nullable: For an IRR tier, the share of each distribution taken during catch-up: 1 for a full catch-up, null for none.
        - `prefCompounding` 'annual' | 'simple', nullable: For an IRR tier, how the preferred return accrues: 'annual' or 'simple'.
    - `fundUnitPrice` number, nullable: Price of one fund unit. This is not the price of an underlying company share.
    - `fundUnitPriceFeeInclusion` 'includes-management-fee' | 'excludes-management-fee' | 'includes-all-fees' | 'excludes-all-fees': Whether the quoted fund-unit price includes fees.
    - `adminFeeReserveAmount` number, nullable: Administration reserve amount for this class in fund currency. Use the team’s suggested reserve returned by /funds/setup.
    - `isAdminFeeReserveIncludedInSubscription` boolean: Whether the administration reserve is included in the subscription amount.
    - `minCommitAmount` number, nullable: Minimum subscription for this class, in fund currency. Null means no configured minimum.
    - `maxCommitAmount` number, nullable: Maximum subscription for this class, in fund currency. Must be at least minCommitAmount when both are set.
    - `subscriptionAmountNotes` string, nullable: Notes shown with the class’s subscription terms. Null means no notes.
  - `minBeneficialOwnershipPercentage` number: Beneficial ownership threshold as a fraction (0.25 means 25%). Maximum 0.25. Null retains the current threshold (or the platform threshold when absent) while screening is enabled. Disabling screening clears it.
  - `templateAgreementTogglesById` object, required: Map of agreement-toggle UUIDs from /funds/setup to boolean elections. Read toggle explanations and availability before choosing. Disabled elections retain the server’s configured value.
  - `administratorEntityId` string, uuid, required: Raw entity UUID of the administrator, chosen from /funds/entities. Its address and role eligibility are checked by the shared mutation.
  - `investmentManagerEntityId` string, uuid: Legacy single-manager raw entity UUID. Prefer managers.kind=roster and internalEntries; the roster takes precedence.
  - `feeRecipientEntries` object[]: Existing external fee-recipient entity rows at creation. Distinct from the creating team’s internalEntries; an entity cannot occupy conflicting roles.
    - `entityId` string, uuid, required: Raw entity UUID for this roster or allocation row. Must be selectable by the acting member for the key’s team.
    - `legalName` string: Legal name of the fund or entity being created. Include its legal suffix. Series fund names must follow the selected master’s naming requirements. Inside testFundConfirmation, repeat the exact fund legalName being confirmed.
    - `role` 'general_partner' | 'management_company', required: Role of this entity on the fund. The first management-company row becomes the primary manager.
    - `mancoEntityId` string, uuid: Advising management-company raw UUID for a general-partner row. Cannot refer to the GP itself or another roster entity.
    - `managementFeeShare` number, nullable: Partner’s default fraction of LP management fees, from 0 to 1. Null on an existing-entity row means unresolved and uses role defaults.
    - `carryShare` number, nullable: Partner’s default fraction of carried interest, from 0 to 1. Null on an existing-entity row means unresolved and uses role defaults.
    - `paymentPrincipalEntityId` string, uuid, nullable: Sponsor raw entity UUID for which the fee recipient collects. Null means the recipient acts for itself; cannot equal entityId.
  - `generalPartners` string[]: Legacy array of general-partner raw entity UUIDs. Prefer a manager roster; its general-partner rows take precedence.
  - `managers` union, required: Choose none for no investor entities, or roster for the creating team’s manager/GP entities, allocation rules and partner invitations.
    - object
      - `kind` 'none', required: Manager configuration discriminator. none has no roster; roster requires internalEntries, withinTeamAllocations, feeRecipientInvites and sendFeeAllocationAgreement.
    - object
      - `kind` 'roster', required: Manager configuration discriminator. none has no roster; roster requires internalEntries, withinTeamAllocations, feeRecipientInvites and sendFeeAllocationAgreement.
      - `internalEntries` object[], required: Complete initial roster of this team’s manager/GP entities. Each entity occurs once; the first management-company row is primary.
        - `entityId` string, uuid, required: Raw entity UUID for this roster or allocation row. Must be selectable by the acting member for the key’s team.
        - `legalName` string: Legal name of the fund or entity being created. Include its legal suffix. Series fund names must follow the selected master’s naming requirements. Inside testFundConfirmation, repeat the exact fund legalName being confirmed.
        - `role` 'general_partner' | 'management_company', required: Role of this entity on the fund. The first management-company row becomes the primary manager.
        - `mancoEntityId` string, uuid: Advising management-company raw UUID for a general-partner row. Cannot refer to the GP itself or another roster entity.
        - `managementFeeShare` number, nullable: Partner’s default fraction of LP management fees, from 0 to 1. Null on an existing-entity row means unresolved and uses role defaults.
        - `carryShare` number, nullable: Partner’s default fraction of carried interest, from 0 to 1. Null on an existing-entity row means unresolved and uses role defaults.
        - `paymentPrincipalEntityId` string, uuid, nullable: Sponsor raw entity UUID for which the fee recipient collects. Null means the recipient acts for itself; cannot equal entityId.
      - `withinTeamAllocations` object[], required: Default division of the team’s retained management-fee and carry shares among its entities. At most one row per entity and fee type.
        - `entityId` string, uuid, required: Raw entity UUID for this roster or allocation row. Must be selectable by the acting member for the key’s team.
        - `feeType` 'management-fee' | 'carry', required: Fee category for this within-team allocation: management-fee or carry.
        - `participationPct` number, nullable, required: Fraction of this team’s retained share allocated to the entity, from 0 to 1. Null records an unresolved split.
      - `feeRecipientInvites` object, nullable, required: New external partners to invite after the fund is committed. Null sends no invitations. Side-letter and privacy choices apply to the entire batch.
        - `partners` object[], required: Partners to invite, with distinct normalized emails and their default fee shares. Up to 10 in one creation request.
          - `email` string, required: Email receiving the partner invitation; normalized to lowercase and trimmed.
          - `legalName` string: Legal name of the fund or entity being created. Include its legal suffix. Series fund names must follow the selected master’s naming requirements. Inside testFundConfirmation, repeat the exact fund legalName being confirmed.
          - `address` object: Mailing address for the vehicle or invited entity. Non-series vehicles need a complete valid address; a series inherits its master’s address.
            - `line1` string, nullable: First street-address line.
            - `line2` string, nullable: Optional second street-address line.
            - `city` string, nullable: City or locality.
            - `region` string, nullable: State, province or region. Use the postal state abbreviation for a U.S. address or jurisdiction.
            - `postalCode` string, nullable: Postal or ZIP code, unless hasNoPostalCode is permitted and true.
            - `hasNoPostalCode` boolean, nullable: Explicitly indicates an address in a jurisdiction that does not use postal codes.
            - `countryCode` string, required: Two-letter ISO country code, for example US.
          - `managementFeeShare` number, required: Partner’s default fraction of LP management fees, from 0 to 1. Null on an existing-entity row means unresolved and uses role defaults.
          - `carryShare` number, required: Partner’s default fraction of carried interest, from 0 to 1. Null on an existing-entity row means unresolved and uses role defaults.
        - `mutualLpPrivacy` boolean, required: Hide each partner team’s investor names from the other team.
        - `showHiddenLpAmounts` boolean, required: When mutualLpPrivacy is enabled, show amounts on anonymous investor rows; false exposes only the count. Ignored when privacy is off.
        - `sendSideLetter` boolean, required: Send the partner a platform side letter. False means the agreement was made off platform and the split applies without a signature request.
      - `sendFeeAllocationAgreement` boolean, required: Generate a fee-allocation agreement for each GP with an advising management company.
  - `newManager` object, nullable: Optional new management company created atomically with the fund and seated first on its roster. Null means use existing entities.
    - `legalName` string, required: Legal name of the fund or entity being created. Include its legal suffix. Series fund names must follow the selected master’s naming requirements. Inside testFundConfirmation, repeat the exact fund legalName being confirmed.
    - `jurisdiction` object, required: Country and region where the new management company is formed.
      - `countryCode` string, required: Two-letter ISO country code, for example US.
      - `region` string, nullable: State, province or region. Use the postal state abbreviation for a U.S. address or jurisdiction.
    - `operatingAgreementEmail` string, nullable, required: Email of the representative signing the new manager’s operating agreement. Null leaves delivery for later in the web app.
  - `registeredAgentEntityId` string, uuid, nullable: Raw entity UUID of the registered agent. Required for a series; role and address are validated. Null is accepted only where the shared mutation permits it.
  - `vehicle` union, required: Choose blind-pool with an address, a standalone spv with isSeries=false and an address, or a series spv with isSeries=true and masterEntityId.
    - object
      - `type` 'blind-pool', required: Discriminator for this object: primary/secondary for strategy, spv/blind-pool for vehicle, or the fee category for a template fee. See this property’s enum for the applicable choices.
      - `address` object, required: Mailing address for the vehicle or invited entity. Non-series vehicles need a complete valid address; a series inherits its master’s address.
        - `line1` string, required: First street-address line.
        - `line2` string, nullable: Optional second street-address line.
        - `city` string, required: City or locality.
        - `region` string, nullable: State, province or region. Use the postal state abbreviation for a U.S. address or jurisdiction.
        - `postalCode` string, nullable: Postal or ZIP code, unless hasNoPostalCode is permitted and true.
        - `hasNoPostalCode` boolean, nullable: Explicitly indicates an address in a jurisdiction that does not use postal codes.
        - `countryCode` string, required: Two-letter ISO country code, for example US.
    - object
      - `type` 'spv', required: Discriminator for this object: primary/secondary for strategy, spv/blind-pool for vehicle, or the fee category for a template fee. See this property’s enum for the applicable choices.
      - `isSeries` false, required: Whether this SPV is a series of an existing master entity. True requires masterEntityId; false requires address.
      - `address` object, required: Mailing address for the vehicle or invited entity. Non-series vehicles need a complete valid address; a series inherits its master’s address.
        - `line1` string, required: First street-address line.
        - `line2` string, nullable: Optional second street-address line.
        - `city` string, required: City or locality.
        - `region` string, nullable: State, province or region. Use the postal state abbreviation for a U.S. address or jurisdiction.
        - `postalCode` string, nullable: Postal or ZIP code, unless hasNoPostalCode is permitted and true.
        - `hasNoPostalCode` boolean, nullable: Explicitly indicates an address in a jurisdiction that does not use postal codes.
        - `countryCode` string, required: Two-letter ISO country code, for example US.
    - object
      - `type` 'spv', required: Discriminator for this object: primary/secondary for strategy, spv/blind-pool for vehicle, or the fee category for a template fee. See this property’s enum for the applicable choices.
      - `isSeries` true, required: Whether this SPV is a series of an existing master entity. True requires masterEntityId; false requires address.
      - `masterEntityId` string, uuid, required: Raw UUID of an authorized master entity from /funds/entities. A series inherits its address. This is a creation-only selection.
  - `isContinuationVehiclePurchasingVehicle` boolean, required: Whether creation should process continuation-vehicle purchaser templates when template documents are enabled.
  - `isRolloverVehicle` boolean, required: Whether this vehicle continues an existing investment structure. True requires taxContinuation; false requires taxContinuation=null.
  - `taxContinuation` object, nullable, required: Tax continuity intake for a rollover vehicle. Dates, predecessor identity and any contributed property must satisfy the shared intake rules; this does not approve a tax conclusion.
    - `predecessorFundId` string, uuid, nullable, required: Raw UUID of an existing predecessor fund, or null when the predecessor is not recorded as a fund on the platform.
    - `predecessorLegalName` string, required: Predecessor’s full legal name for the tax continuity record.
    - `predecessorEin` string, nullable, required: Predecessor EIN, required when continuing its prior U.S. partnership return identity.
    - `predecessorCountryCode` string, nullable, required: Predecessor’s two-letter country code, or null if unknown.
    - `predecessorAddress` object, nullable, required: Predecessor’s address, or null if unknown.
      - `line1` string, required: First street-address line.
      - `line2` string, nullable: Optional second street-address line.
      - `city` string, required: City or locality.
      - `region` string, nullable: State, province or region. Use the postal state abbreviation for a U.S. address or jurisdiction.
      - `postalCode` string, nullable: Postal or ZIP code, unless hasNoPostalCode is permitted and true.
      - `hasNoPostalCode` boolean, nullable: Explicitly indicates an address in a jurisdiction that does not use postal codes.
      - `countryCode` string, required: Two-letter ISO country code, for example US.
    - `originalInvestmentAt` string, date-time, nullable, required: Original investment date; must precede the reorganization. ISO 8601 date-time or null.
    - `reorganizationEffectiveAt` string, date-time, required: Reorganization effective date as an ISO 8601 date-time.
    - `assetTransferAt` string, date-time, required: Asset title-transfer date, no earlier than the reorganization effective date.
    - `partnerInterestsTransferAt` string, date-time, required: Replacement-interest transfer date, no earlier than the reorganization effective date.
    - `predecessorCeasedAt` string, date-time, nullable, required: Date the predecessor ceased, or null. Cannot precede the reorganization.
    - `federalForm` 'nominee-asset-formation' | 'same-partnership-continuation' | 'assets-over' | 'section-721-contribution' | 'review-required', required: Federal tax structure for the continuity intake. A nominee formation requires a first U.S. return and the corresponding nominee/shell classifications.
    - `federalReturnIdentity` 'prior-us-return' | 'first-us-return' | 'review-required', required: Whether the successor starts its first U.S. return or continues the predecessor’s U.S. return identity.
    - `predecessorReturnStatus` 'nominee-not-separate-taxpayer' | 'form-1065-filed' | 'not-required-foreign-partnership' | 'review-required', required: Predecessor’s federal return classification for the continuity analysis.
    - `successorShellStatus` 'not-separate-federal-partnership' | 'separate-federal-partnership' | 'review-required', required: Successor’s federal partnership/shell classification for the continuity analysis.
    - `admitsNonContributingMember` boolean, required: Whether the successor admits a member who contributes no predecessor property.
    - `propertyContributions` object[]: Contributed property and tax marks for a nominee formation. Each row must link exactly one recorded position.
      - `contributorEntityId` string, uuid, required: Raw entity UUID of the contributing owner.
      - `stockTransferId` string, uuid, nullable, required: Raw UUID of the contributed stock position, or null. Exactly one position reference must be set.
      - `safeTransferId` string, uuid, nullable, required: Raw UUID of the contributed SAFE position, or null. Exactly one position reference must be set.
      - `fundCommitmentId` string, uuid, nullable, required: Raw UUID of the contributed fund interest, or null. Exactly one position reference must be set.
      - `loanId` string, uuid, nullable: Raw UUID of the contributed loan receivable, or null. Exactly one position reference must be set.
      - `fixedPriceStockForwardId` string, uuid, nullable: Raw UUID of the contributed fixed-price forward, or null. Exactly one position reference must be set.
      - `assetName` string, required: Name of the contributed asset for the tax continuity record.
      - `ownershipFraction` number, required: Fraction of the asset contributed, greater than zero and at most 1.
      - `acquiredAt` union, required: Historical acquisition date of the contributed property; cannot follow contributedAt.
        - string, date-time
        - string
      - `contributedAt` union, required: Date property was contributed, as an ISO 8601 date-time.
        - string, date-time
        - string
      - `adjustedTaxBasisUsd` number, required: Adjusted tax basis of the contributed property in USD, nonnegative.
      - `fairMarketValueUsd` number, required: Fair market value of the contributed property in USD, nonnegative.
      - `valuationAt` union, required: As-of date of the tax mark. Must equal contributedAt.
        - string, date-time
        - string
      - `valuationMethod` string, required: Method used to determine the contributed property’s fair market value.
      - `valuationEvidence` string, required: Evidence supporting that fair market value.
  - `useTemplateDocuments` boolean: Whether creation generates platform template documents and signature packets. Set explicitly. False skips those documents and their signer requirements.
  - `coGpSideLetterSignatories` object: Optional signer email maps for Co-GP side letters generated during creation. Keys must refer to the relevant entities on this fund.
    - `primaryImEmails` string[]: Email addresses of the primary investment manager’s side-letter signers.
    - `coGpEmailsByEntityId` object: Map of Co-GP raw entity UUID to its side-letter signer emails.
  - `gpMemberAwardSignatories` object: Map from GP raw entity UUID to memberEmails and companySignatoryEmail. Supply when requested by gp-member-award-signatories; {} explicitly records that no packets were requested.
  - `entityOperatingAgreementEmails` object: Map from selected raw entity UUID to representative signer email. Supply when requested by entity-operating-agreement-emails; {} explicitly records that no emails were supplied.

## Response `200`

data is {status:"done",result:{fundId:"fnd_<uuid>",fundSlug:string}} or {status:"needs-input",requirements:[{kind,subject}]}. confirm-test-fund supplies subject.legalName; gp-member-award-signatories supplies subject.generalPartnerEntityIds; entity-operating-agreement-emails supplies subject.entities [{id,legalName,slug}]. Resubmit the original complete input with the requested answers and the same creation key.

- CreateResponse
  - `success` true, required
  - `data` union, required
    - object
      - `status` 'done', required
      - `result` object, required
        - `fundId` string, required
        - `fundSlug` string, required
    - object
      - `status` 'needs-input', required
      - `requirements` union[], required
        - union
          - object
            - `kind` 'confirm-test-fund', required
            - `subject` object, required
              - …
          - object
            - `kind` 'gp-member-award-signatories', required
            - `subject` object, required
              - …
          - object
            - `kind` 'entity-operating-agreement-emails', required
            - `subject` object, required
              - …

## Other responses

- `400`: INVALID_JSON, INVALID_PARAMS or VALIDATION_ERROR: field issues include paths. Correct the input and keep the creation key.
- `401`: MISSING_API_KEY or INVALID_API_KEY: missing, invalid or revoked key.
- `403`: INSUFFICIENT_SCOPE or FORBIDDEN: missing scope, unusable acting member or insufficient current permission.
- `404`: FUND_NOT_FOUND: the fund is not accessible to this acting member through this team.
- `405`: METHOD_NOT_ALLOWED: this endpoint requires POST.
- `409`: CONFLICT or ACTION_REFUSED: operation refused in the current fund state, including terminated funds or incompatible settings.
- `429`: RATE_LIMIT_EXCEEDED: respect Retry-After before retrying.
- `500`: Outcome may be unknown or a post-commit side effect may have failed. For creation retry the same payload with the same creationIdempotencyKey. For updates read Details before deciding whether to retry.

## Changes

- **2026-10-19** `b99bb24f107d`: 6 info
  - added the new optional request property `fundClasses/items/featuredCompany/anyOf[#/components/schemas/__schema0]/templateFees/items/basisAmountOverride`
  - added the new optional request property `fundClasses/items/templateFees/items/basisAmountOverride`
  - added the new `from-invested-capital` enum value to the request property `fundClasses/items/featuredCompany/anyOf[#/components/schemas/__schema0]/templateFees/items/collectionMethod`
  - added the new `from-invested-capital` enum value to the request property `fundClasses/items/templateFees/items/collectionMethod`
  - …2 more

[Operation history](https://skmtc.dev/capitalcompany/apis/capital-company-external-api/changes/api/v2/funds/create/post.md)

---

[API](https://skmtc.dev/capitalcompany/apis/capital-company-external-api.md) · [All operations](https://skmtc.dev/capitalcompany/apis/capital-company-external-api/llms.txt) · [OpenAPI document](https://skmtc.dev/capitalcompany/apis/capital-company-external-api/revisions/b99bb24f107d?raw)
