Skip to main content
Core Platform

Generate Institutional Risk & Compliance 2.0 evidence

POST /investment/portfolios/{portfolio}/risk-compliance

Contract

Generates observed-data historical VaR/ES, liquidity and concentration risk, includes saved IM7 theme-factor risk when available, attaches observed IM2 derivatives-market context, aggregates derivative Greeks only from explicit supplied position inputs, and refreshes configured investment mandate controls. No synthetic market data or Financial Action execution is permitted.

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
{
    "benchmark_symbol": "string",
    "history_months": 36,
    "derivative_positions": [
        {
            "symbol": "string",
            "quantity": 1,
            "multiplier": 100,
            "delta": 1,
            "gamma": 1,
            "vega": 1,
            "theta": 1,
            "option_market_value_usd": 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 '{
    "benchmark_symbol": "string",
    "history_months": 36,
    "derivative_positions": [
        {
            "symbol": "string",
            "quantity": 1,
            "multiplier": 100,
            "delta": 1,
            "gamma": 1,
            "vega": 1,
            "theta": 1,
            "option_market_value_usd": 1
        }
    ]
}' \
  "https://financegpt.dev/api/v2/investment/portfolios/{portfolio}/risk-compliance"

javascript

const response = await fetch("https:\/\/financegpt.dev\/api\/v2\/investment\/portfolios\/{portfolio}\/risk-compliance", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${FINANCEGPT_API_KEY}`,
    Accept: 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "benchmark_symbol": "string",
    "history_months": 36,
    "derivative_positions": [
        {
            "symbol": "string",
            "quantity": 1,
            "multiplier": 100,
            "delta": 1,
            "gamma": 1,
            "vega": 1,
            "theta": 1,
            "option_market_value_usd": 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}/risk-compliance',
    headers={
        'Authorization': 'Bearer ' + os.environ['FINANCEGPT_API_KEY'],
        'Accept': 'application/json',
    },
    json=json.loads('{"benchmark_symbol":"string","history_months":36,"derivative_positions":[{"symbol":"string","quantity":1,"multiplier":100,"delta":1,"gamma":1,"vega":1,"theta":1,"option_market_value_usd":1}]}'),
)
response.raise_for_status()
print(response.json())

php

<?php
$ch = curl_init('https://financegpt.dev/api/v2/investment/portfolios/{portfolio}/risk-compliance');
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 (
  'benchmark_symbol' => 'string',
  'history_months' => 36,
  'derivative_positions' => 
  array (
    0 => 
    array (
      'symbol' => 'string',
      'quantity' => 1.0,
      'multiplier' => 100,
      'delta' => 1.0,
      'gamma' => 1.0,
      'vega' => 1.0,
      'theta' => 1.0,
      'option_market_value_usd' => 1.0,
    ),
  ),
)),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Responses

Status Description
201 Institutional risk evidence created; no order placed or Financial Action executed
503 Institutional risk evidence unavailable because required observed data or portfolio valuation is missing

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