---
title: "Get creation defaults and agreement elections"
method: GET
path: "/api/v2/funds/setup"
tags: ["Fund management"]
---

# Get creation defaults and agreement elections

`GET /api/v2/funds/setup`

## Request

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

Returns the web app creation draft, its source fund, the team administration reserve and available agreement toggles. The draft is a starting point: add legalName, expectedAllocation, a new creationIdempotencyKey and any missing address/manager choices. Requires the acting member to have full-team settings edit access, as opening the creation form does. Required key scope: funds:read.

## Response `200`

data is {draft,carriedFrom,canManuallyMarkTestFund,adminReserveAmount,agreementTemplateToggles}. draft uses the create input fields except the three attempt-specific values and possibly an incomplete vehicle address. carriedFrom is null or {fundId,legalName}. Each toggle includes id,agreementTemplateId,variableName,name,description,defaultValue,editable,sortIndex,typeName,documentId. Toggle UUIDs key templateAgreementTogglesById.

- SetupResponse
  - `success` true, required
  - `data` object, required
    - `draft` object, required
      - `isTestFund` boolean, required
      - `testFundConfirmation` object, nullable, required
        - `legalName` string, required
        - `isTestFund` boolean, required
      - `usesFundUnits` boolean, required
      - `minAccreditationLevel` 'accredited' | 'qualified-client' | 'qualified-purchaser', required
      - `requiresBeneficialOwnerCheck` boolean, required
      - `requiresCfiusCheck` boolean, required
      - `requiresBeneficialOwnerId` 'non-us-natural-persons' | 'all-natural-persons', required
      - `memoAsMarkdown` string, nullable
      - `strategy` union, required
        - object
          - `type` 'secondary', required
        - object
          - `type` 'primary', required
          - `isVentureCapitalFund` boolean, required
      - `acknowledgesNonVcRegulatoryRequirements` boolean
      - `fundClasses` object[], required
        - `name` string, required
        - `featuredCompany` Schema0 (unresolved $ref)
        - `templateFees` object[], required
          - `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
          - `type` 'admin-fee' | 'management-fee' | 'carried-interest' | 'escrow-fee' | 'fund-cost' | 'deferral-fee' | 'broker-fee', required
          - `displayName` string, nullable
          - `percentage` number, nullable: The rate as a fraction of one: 0.02 for 2%.
          - `amount` number, nullable
          - `basisAmountOverride` number, nullable
          - `quotedFrequency` 'one-time' | 'quarterly' | 'annually', required
          - `accrualType` 'upfront' | 'periodic' | 'at-exit', required
          - `accrualFrequency` 'quarterly' | 'annually', nullable, required
          - `isRefundable` boolean, required
          - `fromYear` integer, required
          - `toYear` integer, nullable
          - `collectionMethod` 'from-invested-capital' | 'from-net-commitment' | 'from-gross-commitment' | 'from-proceeds' | 'from-fee-capital-call' | 'from-fee-capital-call-on-gross', required
          - `splitProRata` boolean, nullable
          - `note` string, nullable
          - `hurdles` object[]
            - `hurdle` number, required
            - `metric` 'net-moic' | 'net-irr' | 'gross-moic' | 'gross-irr', required
            - `feeRate` number, required
            - `withinWindowInMonths` number, nullable
            - `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
        - `fundUnitPriceFeeInclusion` 'includes-management-fee' | 'excludes-management-fee' | 'includes-all-fees' | 'excludes-all-fees'
        - `adminFeeReserveAmount` number, nullable
        - `isAdminFeeReserveIncludedInSubscription` boolean
        - `minCommitAmount` number, nullable
        - `maxCommitAmount` number, nullable
        - `subscriptionAmountNotes` string, nullable
      - `minBeneficialOwnershipPercentage` number
      - `templateAgreementTogglesById` object, required
      - `administratorEntityId` string, uuid, required
      - `investmentManagerEntityId` string, uuid
      - `feeRecipientEntries` object[]
        - `entityId` string, uuid, required
        - `legalName` string
        - `role` 'general_partner' | 'management_company', required
        - `mancoEntityId` string, uuid
        - `managementFeeShare` number, nullable
        - `carryShare` number, nullable
        - `paymentPrincipalEntityId` string, uuid, nullable
      - `generalPartners` string[]
      - `managers` union, required
        - object
          - `kind` 'none', required
        - object
          - `kind` 'roster', required
          - `internalEntries` object[], required
            - `entityId` string, uuid, required
            - `legalName` string
            - `role` 'general_partner' | 'management_company', required
            - `mancoEntityId` string, uuid
            - `managementFeeShare` number, nullable
            - `carryShare` number, nullable
            - `paymentPrincipalEntityId` string, uuid, nullable
          - `withinTeamAllocations` object[], required
            - `entityId` string, uuid, required
            - `feeType` 'management-fee' | 'carry', required
            - `participationPct` number, nullable, required
          - `feeRecipientInvites` object, nullable, required
            - `partners` object[], required
              - …
            - `mutualLpPrivacy` boolean, required
            - `showHiddenLpAmounts` boolean, required
            - `sendSideLetter` boolean, required
          - `sendFeeAllocationAgreement` boolean, required
      - `newManager` object, nullable
        - `legalName` string, required
        - `jurisdiction` object, required
          - `countryCode` string, required
          - `region` string, nullable
        - `operatingAgreementEmail` string, nullable, required
      - `registeredAgentEntityId` string, uuid, nullable
      - `isContinuationVehiclePurchasingVehicle` boolean, required
      - `isRolloverVehicle` boolean, required
      - `taxContinuation` object, nullable, required
        - `predecessorFundId` string, uuid, nullable, required
        - `predecessorLegalName` string, required
        - `predecessorEin` string, nullable, required
        - `predecessorCountryCode` string, nullable, required
        - `predecessorAddress` object, nullable, required
          - `line1` string, required
          - `line2` string, nullable
          - `city` string, required
          - `region` string, nullable
          - `postalCode` string, nullable
          - `hasNoPostalCode` boolean, nullable
          - `countryCode` string, required
        - `originalInvestmentAt` string, date-time, nullable, required
        - `reorganizationEffectiveAt` string, date-time, required
        - `assetTransferAt` string, date-time, required
        - `partnerInterestsTransferAt` string, date-time, required
        - `predecessorCeasedAt` string, date-time, nullable, required
        - `federalForm` 'nominee-asset-formation' | 'same-partnership-continuation' | 'assets-over' | 'section-721-contribution' | 'review-required', required
        - `federalReturnIdentity` 'prior-us-return' | 'first-us-return' | 'review-required', required
        - `predecessorReturnStatus` 'nominee-not-separate-taxpayer' | 'form-1065-filed' | 'not-required-foreign-partnership' | 'review-required', required
        - `successorShellStatus` 'not-separate-federal-partnership' | 'separate-federal-partnership' | 'review-required', required
        - `admitsNonContributingMember` boolean, required
        - `propertyContributions` object[]
          - `contributorEntityId` string, uuid, required
          - `stockTransferId` string, uuid, nullable, required
          - `safeTransferId` string, uuid, nullable, required
          - `fundCommitmentId` string, uuid, nullable, required
          - `loanId` string, uuid, nullable
          - `fixedPriceStockForwardId` string, uuid, nullable
          - `assetName` string, required
          - `ownershipFraction` number, required
          - `acquiredAt` union, required
            - string, date-time
            - string
          - `contributedAt` union, required
            - string, date-time
            - string
          - `adjustedTaxBasisUsd` number, required
          - `fairMarketValueUsd` number, required
          - `valuationAt` union, required
            - string, date-time
            - string
          - `valuationMethod` string, required
          - `valuationEvidence` string, required
      - `useTemplateDocuments` boolean
      - `coGpSideLetterSignatories` object
        - `primaryImEmails` string[]
        - `coGpEmailsByEntityId` object
      - `gpMemberAwardSignatories` object
      - `entityOperatingAgreementEmails` object
      - `vehicle` object, required
        - `type` 'blind-pool' | 'spv'
        - `isSeries` boolean
        - `masterEntityId` string, uuid
        - `address` object
          - `line1` string
          - `line2` string, nullable
          - `city` string
          - `region` string, nullable
          - `postalCode` string, nullable
          - `hasNoPostalCode` boolean, nullable
          - `countryCode` string
    - `carriedFrom` object, nullable, required
      - `fundId` string, required
      - `legalName` string, required
    - `canManuallyMarkTestFund` boolean, required
    - `adminReserveAmount` number, required
    - `agreementTemplateToggles` object[], required
      - `id` string, uuid, required
      - `agreementTemplateId` string, uuid, required
      - `variableName` string, required
      - `name` string, required
      - `description` string, required
      - `defaultValue` boolean, required
      - `editable` boolean, required
      - `sortIndex` integer, required
      - `typeName` string, required
      - `documentId` string, uuid, 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.
- `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`: 4 warning, 2 info
  - added the new `from-invested-capital` enum value to the `data/draft/fundClasses/items/featuredCompany/anyOf[#/components/schemas/__schema0]/templateFees/items/collectionMethod` response property for the response status `200`
  - added the new `from-invested-capital` enum value to the `data/draft/fundClasses/items/templateFees/items/collectionMethod` response property for the response status `200`
  - added the new `initial-investment` enum value to the `data/draft/fundClasses/items/featuredCompany/anyOf[#/components/schemas/__schema0]/templateFees/items/earningCondition` response property for the response status `200`
  - added the new `initial-investment` enum value to the `data/draft/fundClasses/items/templateFees/items/earningCondition` response property for the response status `200`
  - …2 more

[Operation history](https://skmtc.dev/capitalcompany/apis/capital-company-external-api/changes/api/v2/funds/setup/get.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)
