Skip to main content
Financial Actions

Adopt an investment order batch into the Financial Actions control plane

POST /actions/investment-execution

Contract

Creates one canonical Action Envelope for an existing governed investment order batch. This does not execute the order batch and does not copy broker credentials into AI or Financial Actions context.

Authentication
Bearer credential required
Required scope
investment:execute
Status
Published

Request body

application/json ยท required
{
    "batch_uid": "string",
    "connector_id": 1,
    "action_key": "buy_sell_securities",
    "currency": "string",
    "amount": 1,
    "purpose": "string",
    "calculation_source": "deterministic_calculation",
    "calculation_reference": "string",
    "execution_mode": "sandbox",
    "source_evidence": []
}

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 '{
    "batch_uid": "string",
    "connector_id": 1,
    "action_key": "buy_sell_securities",
    "currency": "string",
    "amount": 1,
    "purpose": "string",
    "calculation_source": "deterministic_calculation",
    "calculation_reference": "string",
    "execution_mode": "sandbox",
    "source_evidence": []
}' \
  "https://financegpt.dev/api/v2/actions/investment-execution"

javascript

const response = await fetch("https:\/\/financegpt.dev\/api\/v2\/actions\/investment-execution", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${FINANCEGPT_API_KEY}`,
    Accept: 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "batch_uid": "string",
    "connector_id": 1,
    "action_key": "buy_sell_securities",
    "currency": "string",
    "amount": 1,
    "purpose": "string",
    "calculation_source": "deterministic_calculation",
    "calculation_reference": "string",
    "execution_mode": "sandbox",
    "source_evidence": []
}),
});
const data = await response.json();

python

import json
import os
import requests

response = requests.request(
    'POST',
    'https://financegpt.dev/api/v2/actions/investment-execution',
    headers={
        'Authorization': 'Bearer ' + os.environ['FINANCEGPT_API_KEY'],
        'Accept': 'application/json',
    },
    json=json.loads('{"batch_uid":"string","connector_id":1,"action_key":"buy_sell_securities","currency":"string","amount":1,"purpose":"string","calculation_source":"deterministic_calculation","calculation_reference":"string","execution_mode":"sandbox","source_evidence":[]}'),
)
response.raise_for_status()
print(response.json())

php

<?php
$ch = curl_init('https://financegpt.dev/api/v2/actions/investment-execution');
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 (
  'batch_uid' => 'string',
  'connector_id' => 1,
  'action_key' => 'buy_sell_securities',
  'currency' => 'string',
  'amount' => 1.0,
  'purpose' => 'string',
  'calculation_source' => 'deterministic_calculation',
  'calculation_reference' => 'string',
  'execution_mode' => 'sandbox',
  'source_evidence' => 
  array (
  ),
)),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Responses

Status Description
201 Investment batch linked to a canonical Action Envelope with material-scope evidence
422 Batch

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:execute

Machine-readable sources