Financial Actions
Create a governed Financial Action envelope
POST
/actions/intents
Contract
Creation records intent, authoritative monetary provenance, policy screening and risk evidence. It does not move money.
Authentication
Bearer credential required
Required scope
actions:create
Status
Published
Request body
application/json
·
required
{
"connector_id": 1,
"counterparty_id": 1,
"action_key": "vendor_payment",
"action_type": "payment",
"currency": "string",
"amount": 1,
"purpose": "string",
"calculation_source": "deterministic_calculation",
"calculation_reference": "string",
"execution_mode": "observe",
"external_reference": "string",
"idempotency_key": "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 '{
"connector_id": 1,
"counterparty_id": 1,
"action_key": "vendor_payment",
"action_type": "payment",
"currency": "string",
"amount": 1,
"purpose": "string",
"calculation_source": "deterministic_calculation",
"calculation_reference": "string",
"execution_mode": "observe",
"external_reference": "string",
"idempotency_key": "string"
}' \
"https://financegpt.dev/api/v2/actions/intents"
javascript
const response = await fetch("https:\/\/financegpt.dev\/api\/v2\/actions\/intents", {
method: "POST",
headers: {
Authorization: `Bearer ${FINANCEGPT_API_KEY}`,
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"connector_id": 1,
"counterparty_id": 1,
"action_key": "vendor_payment",
"action_type": "payment",
"currency": "string",
"amount": 1,
"purpose": "string",
"calculation_source": "deterministic_calculation",
"calculation_reference": "string",
"execution_mode": "observe",
"external_reference": "string",
"idempotency_key": "string"
}),
});
const data = await response.json();
python
import json
import os
import requests
response = requests.request(
'POST',
'https://financegpt.dev/api/v2/actions/intents',
headers={
'Authorization': 'Bearer ' + os.environ['FINANCEGPT_API_KEY'],
'Accept': 'application/json',
},
json=json.loads('{"connector_id":1,"counterparty_id":1,"action_key":"vendor_payment","action_type":"payment","currency":"string","amount":1,"purpose":"string","calculation_source":"deterministic_calculation","calculation_reference":"string","execution_mode":"observe","external_reference":"string","idempotency_key":"string"}'),
)
response.raise_for_status()
print(response.json())
php
<?php
$ch = curl_init('https://financegpt.dev/api/v2/actions/intents');
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 (
'connector_id' => 1,
'counterparty_id' => 1,
'action_key' => 'vendor_payment',
'action_type' => 'payment',
'currency' => 'string',
'amount' => 1.0,
'purpose' => 'string',
'calculation_source' => 'deterministic_calculation',
'calculation_reference' => 'string',
'execution_mode' => 'observe',
'external_reference' => 'string',
'idempotency_key' => 'string',
)),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Responses
| Status | Description |
|---|---|
201 |
Financial Action envelope created with ten control checkpoints and T1-T4 risk evidence |
422 |
Invalid action |
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.
actions:create