Core Platform
Seed an empty portfolio book from opening evidence
POST
/investment/portfolios/{portfolio}/book/seed
Contract
Captures current legacy portfolio assets as opening position evidence and optionally accepts explicit opening cash evidence. This is accounting initialization only and does not execute a trade or Financial Action.
Authentication
Bearer credential required
Required scope
investment:run
Status
Published
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
portfolio |
path | string | Yes | — |
Request body
application/json
·
optional
{
"cash_balances": [
{
"currency": "string",
"amount_minor": 1,
"amount_scale": 2,
"source_reference": "string",
"source_hash": "string"
}
]
}
Code examples
These examples compose a request only. Public reference pages never transmit your credential or execute the operation.
curl
curl -X POST \
-H "Authorization: Bearer $FINANCEGPT_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
--data '{
"cash_balances": [
{
"currency": "string",
"amount_minor": 1,
"amount_scale": 2,
"source_reference": "string",
"source_hash": "string"
}
]
}' \
"https://financegptlabs.com/api/v2/investment/portfolios/{portfolio}/book/seed"
javascript
const response = await fetch("https:\/\/financegptlabs.com\/api\/v2\/investment\/portfolios\/{portfolio}\/book\/seed", {
method: "POST",
headers: {
Authorization: `Bearer ${FINANCEGPT_API_KEY}`,
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"cash_balances": [
{
"currency": "string",
"amount_minor": 1,
"amount_scale": 2,
"source_reference": "string",
"source_hash": "string"
}
]
}),
});
const data = await response.json();
python
import json
import os
import requests
response = requests.request(
'POST',
'https://financegptlabs.com/api/v2/investment/portfolios/{portfolio}/book/seed',
headers={
'Authorization': 'Bearer ' + os.environ['FINANCEGPT_API_KEY'],
'Accept': 'application/json',
},
json=json.loads('{"cash_balances":[{"currency":"string","amount_minor":1,"amount_scale":2,"source_reference":"string","source_hash":"string"}]}'),
)
response.raise_for_status()
print(response.json())
php
<?php
$ch = curl_init('https://financegptlabs.com/api/v2/investment/portfolios/{portfolio}/book/seed');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer '.getenv('FINANCEGPT_API_KEY'),
'Accept: application/json',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(array (
'cash_balances' =>
array (
0 =>
array (
'currency' => 'string',
'amount_minor' => 1,
'amount_scale' => 2,
'source_reference' => 'string',
'source_hash' => 'string',
),
),
)),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Responses
| Status | Description |
|---|---|
201 |
Opening book evidence recorded and projection sealed |
422 |
Book already contains entries or opening evidence is invalid |
Authority boundary
A developer credential proves application identity and permits only its scopes. It does not grant model promotion, policy override, QLM rebinding, or Financial Actions execution authority unless those separate controls are satisfied.
investment:run