POST /v3/instruments — private-market-fund-commitment-based-instrument Register a commitment-based private-market fund position. The nested `fund` object describes the fund itself; `initialCommitment` records the initial commitment amount on a specific date. Note: `initialCommitment` is only used on POST. It does not appear in GET responses — once the position exists, commitments are managed via the dedicated /v3/instruments/:id/commitments endpoints. Same with `exitDate`: it's part of the resource model but read-only; the system sets it when the position is closed. Request: { "data": { "type": "private-market-fund-commitment-based-instrument", "attributes": { "customIdentifier": "string (optional)", "fund": { "managerName": "string (required)", "name": "string (required)", "ccyCode": "string (required) — ISO 4217 fund currency", "strategy": "string (required) — leveraged-buyout | private-debt | venture-capital | other", "investmentRegion": "string (required) — global | north-america | europe | other", "vintageDate": "string, ISO 8601 (required)", "expectedExitDate": "string, ISO 8601 (optional)" }, "initialCommitment": { "date": "string, ISO 8601 (required) — date of the initial commitment", "value": "number (required) — initial commitment in fund currency" } }, "relationships": { "depository": { "data": { "type": "depository", "id": "string (required)" } } } } } Response (201 Created): { "data": { "id": "string", "type": "private-market-fund-commitment-based-instrument", "attributes": { "customIdentifier": "string", "fund": { /* same as request */ }, "exitDate": "ISO 8601 date or null" }, "relationships": { "depository": { "data": { "type": "depository", "id": "string" } }, "commitments": { "data": [ { "type": "commitment", "id": "string" } ] } } } }