Skip to main content
Core Platform

Seal a portfolio thematic attribution and drift snapshot

POST /investment/portfolios/{portfolio}/theme-watch

Contract

Maps provider-valued current portfolio weights through source-backed thematic exposures, links the latest selected factor observation for static attribution and measures thematic concentration and drift versus the previous snapshot under the same taxonomy version. The snapshot is research evidence only and does not rebalance the portfolio or create a 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
{
    "run_id": 1
}

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 '{
    "run_id": 1
}' \
  "https://financegpt.dev/api/v2/investment/portfolios/{portfolio}/theme-watch"

javascript

const response = await fetch("https:\/\/financegpt.dev\/api\/v2\/investment\/portfolios\/{portfolio}\/theme-watch", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${FINANCEGPT_API_KEY}`,
    Accept: 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "run_id": 1
}),
});
const data = await response.json();

python

import json
import os
import requests

response = requests.request(
    'POST',
    'https://financegpt.dev/api/v2/investment/portfolios/{portfolio}/theme-watch',
    headers={
        'Authorization': 'Bearer ' + os.environ['FINANCEGPT_API_KEY'],
        'Accept': 'application/json',
    },
    json=json.loads('{"run_id":1}'),
)
response.raise_for_status()
print(response.json())

php

<?php
$ch = curl_init('https://financegpt.dev/api/v2/investment/portfolios/{portfolio}/theme-watch');
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 (
  'run_id' => 1,
)),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Responses

Status Description
201 Portfolio Theme Watch snapshot sealed
503 Factor run

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

Machine-readable sources